0%

웹브라우저의 동작원리

웹브라우저를 실행시켜서 주소창에 특정 URL값을 입력시킨 후, 엔터를 눌렀을때, 페이지가 렌더링되는 과정을 웹통신 흐름에 중점을 두어 설명해주세요.

image

브라우저는 서버로부터 HTML, CSS, Javascript, 이미지파일 등을 응답받습니다. HTML,CSS파일은 렌더링 엔진의 HTML파서와 CSS파서에 의해 파싱되어 DOM,CSSOM 트리로 변환됩니다.

자바스크립트는 렌더링 엔진이 아닌 자바스크립트엔진이 처리합니다.HTML파서는 script태그를 만나면 자바스크립트 코드를 실행하기 위해 DOM생성 프로세스를 중지하고 자바스크립트엔진으로 제어권한을 넘깁니다.제어 권한을 넘겨받은 자바스크립트 엔진은 script태그 내의 자바스크립트코드 또는 script태그의 src어트리뷰트에 정의된 자바스크립트 파일을 로드하고 파싱하여 실행합니다.이 때 자바엔진은 추상구문트리를 만듭니다. 자바스크립트의 실행이 완료되면 다시 HTML파서로 제어권한을 넘겨서 브라우저가 중지했던 시점부터 DOM생성을 재개합니다.