일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 그레이들
- Data Structure
- Python
- 동적 계획법
- 프로그래머스
- react
- vscode
- network
- Redux
- CS
- db
- 알고리즘
- TypeScript
- 리트코드
- VIM
- Javascript
- 다이나믹 프로그래밍
- 백준
- DP
- frontend
- BFS
- Database
- LeetCode
- Algorithm
- Graph
- DFS
- git
- 안드로이드
- 자바
- java
- Today
- Total
늘 겸손하게
Frontend - 브라우저의 주요 컴포넌트들 본문
1. User Interface
2. Browser Engine
3. Rendering Engine
4. Data Persistance/Storage
5. Networking
6. JavaScript Interpreter
7. UI Backend
[ 1. User Interface ]
사용자 인터페이스
주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등. 요청한 페이지를 보여주는 창 의외의 모든 부분
[ 2. Browser Engine ]
브라우저 엔진
사용자 인터페이스와 렌더링 엔진 중간에서 두 컴포넌트 사이의 동작을 제어
[ 3. Rendering Engine ]
요청한 데이터를 출력. 얻은 문서를 HTML 파서를 통해 DOM 트리를 만들고 CSS 파서로 알아낸 스타일 규칙을 붙여(attachment) 렌더 트리를 생성
[ 4. Data Persistance/Storage ]
자료 저장소
브라우저가 설치되면 컴퓨터의 로컬 드라이브(ex: 하드 디스크)에 생성되는 작은 데이터베이스이다. 캐시, 쿠키, 북마크, preferences와 같은 데이터를 관리할 수 있게 한다.
브라우저는 localStorage, IndexDB, WebSQL, FileSystem 과 같은 저장 매커니즘을 지원.
[ 5. Networking ]
HTTP 요청과 같은 네트워크 호출에 사용됩니다. 인터넷 통신과 보안에 관한 측면을 담당
네트워크 트래픽을 줄이기 위해 전송받은 문서에 관한 캐시를 설치할수도 있다.
플랫폼에 독립적인 인터페이스.
[ 6. JavaScript Interpreter ]
브라우저에 내장된 자바스크립트 코드를 해석하는 컴포넌트.
해석된 코드는 출력을 위해 렌더링 엔진에 전달
[ 7. UI Backend ]
콤포 박스, 창(윈도우)과 같은 기본적인 위젯을 그리는데 사용
플랫폼에 독립적인 인터페이스를 제공하고 내부에서 OS 사용자 인터페이스 메소드를 사용.
[ 출처 ]
https://d2.naver.com/helloworld/59361
https://medium.com/@monica1109/how-does-web-browsers-work-c95ad628a509
'Programming > Frontend' 카테고리의 다른 글
Frontend - CORS (교차 출처 리소스 공유) (0) | 2022.08.05 |
---|---|
Frontend - CSR , SSR (0) | 2022.08.05 |
Frontend - Polyfill (0) | 2022.07.20 |
Frontend - Babel (0) | 2022.07.20 |
Frontend - WebPack (0) | 2022.07.20 |