## `Parsing`란?
구문 분석. 네트워크를 통해 받은 HTML 원시 바이트를 DOM이나 CSSOM으로 바꾸는 작업. 웹페이지가 표시되는 단계인 `탐색` > `응답`>`구문 분석(Parsing)`> `렌더` 중 하나다. 세부적으로 변환 > 토큰화 > Lexing > DOM/CSSOM 생성으로 나뉘며, 생성된 DOM/CSSOM은 이후 단계인 [[2. Render|Render]]의 기반이 된다.
## `Parsing`의 작동 방식
![[Pasted image 20231106183431.png]][^1]
### 1. 변환
브라우저가 원시 바이트를 문자로 변환하는 과정. 이때 변환하는 규칙이 바로 `<meta charset="UTF-8">` 에 적혀 있는 `UTF-8` 같은 인코딩 규칙이다.
### 2. 토큰화
브라우저가 문자열을 [w3c 표준](https://www.w3.org/TR/2011/WD-html5-20110113/tokenization.html)에 맞게 토큰화하는 과정.
### 3. Lexing
토큰들을 속성과 규칙을 정의하는 '객체'로 변환하는 과정. 이때는 트리 데이터 구조로 연결되지 않았기 때문에 DOM/CSSOM은 아니다.
### 4. DOM/CSSOM 생성
HTML 마크업을 통해 렉싱된 객체를 트리 데이터 구조로 연결하는 작업.
## Reference
[^1]:https://web.dev/articles/critical-rendering-path/constructing-the-object-model?hl=ko