본문 바로가기
boostcource/boostcourse_web programming

browser의 동작

by sgyeong 2024. 4. 1.

서버에서 전송한 데이터 (HTML 등)가 클라이언트에 도착해야 할 곳은 Browser이다.
Browser에는 데이터를 해석해주는 파서와 데이터를 화면에 표현해주는 렌더링엔진이 포함되어 있다.

 

브라우저: 월드와이드웹(www)에서 정보를 검색, 표현하고 탐색하기 위한 소프트웨어

인터넷에서 특정 정보로 이동할 수 있는 입력창이 있고 서버와 HTTP로 정보를 주고 받을 수 있는 데트워크 모듈도 포함하고 있다. 서버에서 받은 문서 (HTML, CSS, Javascript)를 해석하고 실행하여 화면에 표현하기 위한 해석기(Parser)들을 가지고 있다. 

 

브라우저 구성요소- UI
- browser engine 
- rendering engine
- data persistence
- networking
- javaScript interpreter
- data storage

 

렌더링 엔진 (Rendering Engines)
예) Firefox Gecko, Safari WebKit, Chrome Opera 등

 

* 사리 브라우저에서 처리되는 webkit 렌더링 엔진의 처리 과정
HTML을 해석해서 DOM Tree를 만들고, CSS를 해석해서 CSS Tree을 만든다.
이 과정에서 Parsing 과정이 필요하며 토큰 단위로 해석되는 방식은 일반적인 소스코드의 컴파일 과정이다.
Dom Tree와 CSS Tree, 이 두 개는 연관되어 있으므로 Render Tree 로 다시 조합된다.
이렇게 조합된 결과는 화면에 어떻게 배치할지 크기와 위치 정보를 담고 있다.
이 후에 Render Tree 정보를 통해 화면에 어떤 부분에 어떻게 색칠할지 Painting 과정을 거치게 된다.

 

Browser engin의 main flow
1) HTML을 파싱
* 파싱 : 문자 단위로 하나하나 해석을 해서 내용이 가진 의미를 파악하는 것. 어떤 데이터 객체로 구조화시키는 것

2) Render tree Construction 
3) Layout of the render tree
렌더 트리를 기준으로 스타일 정보와 구조를 합쳐 매칭함. 화면에 어떻게 배치할지 결정함
4) Painting the render tree

 

 

Main flow examples

 

 

Parsing의 방법

토큰을 기준으로 systax tree를 만들고 그 tree에 따라서 값의 처리가 일어나게 된다.

 

 

 

 

 

참고 : boostcourse  https://www.boostcourse.org/web316/lecture/254256?isDesc=false  

 

웹 프로그래밍(풀스택)

부스트코스 무료 강의

www.boostcourse.org

           

 

https://web.dev/articles/howbrowserswork#the_main_flow

 

브라우저의 작동 방식  |  Articles  |  web.dev

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 브라우저의 작동 방식 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 최신 웹브라우저의 이면 주의:

web.dev

 

'boostcource > boostcourse_web programming' 카테고리의 다른 글

웹서버  (0) 2024.04.01
browser에서의 웹개발  (0) 2024.04.01
백엔드 (Back-End)  (0) 2024.03.31
프론트엔드(Front-End)  (0) 2024.03.30
웹 프로그래밍  (0) 2024.03.29