1. 웹 브라우저란
WWW을 기반으로 한 인터넷의 컨텐츠(HTML문서와 그림, 멀티미디어 파일등)를 검색,열람하기 위한 응용 프로그램의 총칭.
5대 브라우저 : Internet Explore(혹은 Microsoft Edge), Chrome, Firefox, Safari, Opera
2.브라우저의 주요 기능
:사용자가 선택한 자원을 서버에 요청(Request)하고 서버의응답(Response)을 받아 브라우저에 표시하는 것.
자원(HTML /Javascript /CSS / PDF/ 이미지 파일...)의 주소는 URI(Uniform Resource Identifier)에 의해 정해진다.
브라우저는 HTML과 CSS 명세에 따라 HTML 파일을 해석해서 표시하는데 이 명세는 웹 표준화 기구인 W3C(World Wide Web Consortium)에서 정한다.
HTML, CSS 파일은 렌더링 엔진의 HTML 파서와 CSS 파서에 의해 파싱(Parsing)되어 DOM, CSSOM 트리로 변환되고 렌더 트리로 결합된다. 이렇게 생성된 렌더 트리를 기반으로 브라우저는 웹페이지를 표시한다.
자바스크립트는 렌더링 엔진이 아닌 자바스크립트 엔진이 처리한다.
브라우저는 동기(Synchronous)적으로 HTML, CSS, Javascript를 처리한다.
--> Html 파서는 script태그를 만나면 DOM생성 프로세스를 중단하도 자바스크립트 코드를 수행하기 위해 자바스크립트 엔진으로 제어권한을 넘기고, 자바스크립트 실행이완료되면 다시 HTML 파서로 제어권한을 넘김.
3. 브라우저의 기본구조
- 사용자 인터페이스 - 주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등. 요청한 페이지를 보여주는 창을 제외한 나머지 모든 부분이다.
- 브라우저 엔진 - 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어.
- 렌더링 엔진 - 요청한 콘텐츠를 표시. 예를 들어 HTML을 요청하면 HTML과 CSS를 파싱하여 화면에 표시함.
- 통신 - HTTP 요청과 같은 네트워크 호출에 사용됨. 이것은 플랫폼 독립적인 인터페이스이고 각 플랫폼 하부에서 실행됨.
- UI 백엔드 - 콤보 박스와 창 같은 기본적인 장치를 그림. 플랫폼에서 명시하지 않은 일반적인 인터페이스로서, OS 사용자 인터페이스 체계를 사용.
- 자바스크립트 해석기 - 자바스크립트 코드를 해석하고 실행.
- 자료 저장소 - 이 부분은 자료를 저장하는 계층이다. 쿠키를 저장하는 것과 같이 모든 종류의 자원을 하드 디스크에 저장할 필요가 있다. HTML5 명세에는 브라우저가 지원하는 '웹 데이터 베이스'가 정의되어 있다
참고
https://namu.wiki/w/%EC%9B%B9%20%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80
'WEB' 카테고리의 다른 글
브라우저가 웹페이지를 그리는 방법 (렌더링) (0) | 2022.04.20 |
---|---|
GraphQL이란 (0) | 2022.02.23 |
웹 폰트와 최적화 (0) | 2021.11.30 |
SVG파일 미리보기 (0) | 2021.10.25 |
프로그레시브 웹앱 (PWA) (0) | 2021.08.05 |