Skip to Content
Suffering builds character
아카이브5.Browser브라우저 렌더링개요6. Parser blocking이 필요한 이유

6. Parser blocking이 필요한 이유

1.Parser blocking

asyncdefer attribute를 사용하지 않은 기본적인 <script>태그는 파싱 작업을 차단하는 형태로 동작하여 HTML 파서의 작업을 중단시킴

HTML Parser가 HTML 태그들을 파싱하는 과정에서 <script> 태그를 만나게 되면, 남은 HTML 파일들을 마저 파싱하기 전에 해당 <script>에 작성된 코드들을 먼저 평가하고, 실행하려고 함

이러한 이유는 스크립트 코드 어딘가에 DOM에 접근하여, HTML 엘리먼트를 조작하거나 CSS 스타일을 조작하는 코드가 작성되어있을 수 있기 때문

index.html
// 다른 html 태그..(파싱 처리가 완료됨) <!-- 파서의 작업을 차단하는 스크립트 --> <script src="/script.js"></script> 외부 파일이 아닌 <script>js 코드</script>도 마찬가지 // 다른 html 태그..(파싱 처리가 중단됨)
Last updated on