브라우저의 렌더링_HTML 파싱과정

조재일·2023년 4월 11일
0

CS지식

목록 보기
4/6
post-thumbnail

브라우저 렌더링 과정

전체적인 브라우저 렌더링 과정을 먼저 보고 가보자
HTML과 CSS를 파싱하고 각각의 Tree를 만들고 합쳐서 Render Tree를 작성한다. 그 다음 Layout과 Paint과정을 거쳐서 Client에게 완전한 화면을 보여준다.

HTML 파싱 과정


더 디테일하게 들어가본다면 먼저 HTML 파싱과정에 대해서 알아야한다.

Byte Stream Decoder

해당 단계는 Byte코드로 되어 있는 HTML을 String으로 변화시켜주는 과정이다.

Input Stream Preprocessor

해당 단계는 사용자가 보기 쉽게 작성되어있는 HTML코드에 공백과 주석을 제거하는 과정이다.

Tokenization

공백과 주석이 제거된 HTML코드를 토큰으로 분리 해주는 과정이다.

그 다음 HTML파서가 구문분석을 진행하고 DOM Tree를 만들어 주는 것을 끝으로 HTML파싱 과정이 끝난다.

HTML 파서

추가적으로 HTML 파서에 대해서 알아보자
여기서 HTML파서를 한번 보고 가는 이유는 HTML 파서는 다른 파서들과 다르게 전통적인 구문분석 방식으로 파싱하기 어렵기 때문이다
그 이유는 일반적인 프로그래밍 언어와 다르게 유연한 언어이기 때문이다.
위의 예시처럼 여러개의 태그가 중첩되어 있는 경우도 많고, 종료태그가 없는 태그도 존재하기 때문이다.

HTML Living Standard 란?

HTML 파서는 구문분석 방식이 까다로운 HTML을 위해서 최신 HTML 기준으로 HTML Living Standard를 참고해서 구문분석을 진행한다.

HTML Living Standard는 HTML의 최신버전으로, HTML5의 확장판이라고 생각하는것이 이해가 쉽다.

Token이 구문분석 과정을 거쳐서 통과되면 알고리즘으로 거쳐서 DOM-Tree를 생성하게 된다


Parsing icons created by Freepik - Flaticon
Hierarchy icons created by Freepik - Flaticon
Layout icons created by Freepik - Flaticon
Layout icons created by Creative Stall Premium - Flaticon
Byte icons created by Rutmer Zijlstra - Flaticon
물음표 아이콘 제작자: Freepik - Flaticon
로봇 아이콘 제작자: xnimrodx - Flaticon
연구 아이콘 제작자: Freepik - Flaticon

profile
주니어 프론트엔드 개발자 입니다

0개의 댓글