2020. 9. 23. 10:41ㆍComputer Science [비전공자를 위한]
브라우저
브라우저는의 주된 기능은 사용자가 선택한 자원을 서버에 요청하고 표시하는 것이다. 보통 자원의 형식은 HTML 문서지만 PDF나 이미지 또는 다른 형태일 수 있습니다. 자원의 주소는 Uniform Resource Identifier, URI에 의해 정해집니다. 브라우저의 기본 구성은 다음과 같습니다.
- 사용자 인터페이스 - 주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등. 요청한 페이지를 보여주는 창을 제외한 나머지 모든 부분이다.
- 브라우저 엔진 - 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어.
- 렌더링 엔진 - 요청한 콘텐츠를 표시. 예를 들어 HTML을 요청하면 HTML과 CSS를 파싱하여 화면에 표시함.
- 통신 - HTTP 요청과 같은 네트워크 호출에 사용됨. 이것은 플랫폼 독립적인 인터페이스이고 각 플랫폼 하부에서 실행됨.
- UI 백엔드 - 콤보 박스와 창 같은 기본적인 장치를 그림. 플랫폼에서 명시하지 않은 일반적인 인터페이스로서, OS 사용자 인터페이스 체계를 사용.
- 자바스크립트 해석기 - 자바스크립트 코드를 해석하고 실행.
- 자료 저장소 - 이 부분은 자료를 저장하는 계층이다. 쿠키를 저장하는 것과 같이 모든 종류의 자원을 하드 디스크에 저장할 필요가 있다. HTML5 명세에는 브라우저가 지원하는 '웹 데이터 베이스'가 정의되어 있다.
server
서버는 클라이언트에서 요청하는 리소스를 받아서 DATA base에서 필요한 값을 받아서 응답하는 역할을 합니다. 서비스는 일반적으로 지역 네트워크 또는 인터넷과 같은 광역 네트워크를 통해 제공된다. 클라이언트 프로그램과 서버 프로그램은 전통적으로 API을 사용하여 인코딩된 메시지를 프로토콜에 전달하여 연결한다.
API
클라이언트에서 보다 쉽게 리소스를 가져올 수 있도록 하는 메뉴판과 같은 존재. 클라이언트가 메뉴판을 보고 주문을 하면 서버에서 음식을 서빙한다고 생각하면 된다.
HTTP
클라이언트와 서버가 통신하기 위한 규약과 규칙을 말한다. conectionless와 stateless 의 특징에 따라서 하나의 요청마다 개별적으로 작동한다 (ex // client : 커피 마시러 가자 -> sever : 알았어! --- client: 어느 까페로 갈래? -> sever : 까페는 갑자기 왜?)
문맥의 흐름대로 작동하기 위해서는 쿠키를 이용해야한다!
HTTP는 Header와 Body로 이루어져 있으며, 헤더에는 [origin, content-type, user-agent] 등의 데이터가 담기고, 바디에는 메소드나 추가적인 데이터가 담기게 된다.
Ajax (Ansynchronous JavaScript and XML)
예전에는 서버의 응답에 대해서 새로운 html 페이지를 랜더링하면서 전체적으로 새로고침이 되는 것을 볼 수 있었지만, 최근에는 Dynamic web page가 유행하면서 부분적으로만 업데이트가 되는 기능을 선호하게 된다. 이러한 추세에 맞춰서 사용하는 것이 Ajax로 XTMLHttpRequest(XHR)과 JavaScript, DOM 을 통 틀어서 뜻하게 된다.
'Computer Science [비전공자를 위한]' 카테고리의 다른 글
ES6 문법의 특징 (0) | 2021.01.06 |
---|---|
V8 엔진이란? (0) | 2021.01.06 |
웹 서비스와 관련 프로토콜 (0) | 2021.01.05 |
백트레킹, DFS / BFS (0) | 2020.09.15 |
🤟🤞🏽Machine Language to High level Language. 🤏🏼🤙🏻 CS로 보는 언어의 분류 (0) | 2020.09.09 |