7. 브라우저의 작동방식에 대해서 설명해주세요.
- 사용자의 웹페이지 요청
- URL 해석 및 DNS(Domain Name System) 조회
- 서버 연결 및 요청 전송
- 웹 서버와 TCP/IP 연결 설정, HTTP 요청 메시지 생성 및 전송
- 서버 응답 및 데이터 수신
- 받은 요청에 대한 응답으로 HTML문서와 필요한 리소스(이미지, 스타일 시트, 스크립트 파일 등)를 생성하고 브라우저로 전송
- HTML 파싱
- 브라우저는 받은 HTML 문서를 파싱하여 DOM(Document Object Model) 트리를 생성. 웹 페이지의 구조와 요소들을 표현하는 계층 구조
- CSS 파싱 및 스타일 계산
- 브라우저는 HTML 요소들에 적용되는 CSS 스타일을 파싱하고 계산하여 각 요소의 레이아웃을 결정
- 렌더링
- 브라우저는 DOM과 CSS 스타일을 기반으로 각 요소를 화면에 배치하고 그려서 사용자에게 보여줌
- 자바스크립트 실행
- 브라우저는 페이지의 js코드를 실행, 웹 페이지의 동적인 기능과 상호작용을 구현
- 이벤트 처리
- 사용자의 동작(클릭, 입력 등)에 대한 이벤트를 감지하고 처리하여 웹 페이지의 상호작용을 지원
- 네트워크 요청
- 웹 페이지의 리소스나 데이터를 불러오기 위해 필요한 경우 추가적인 네트워크 요청을 수행
이는 AJAX 요청, 이미지 로딩 등을 포함
- 캐싱
- 리소스를 캐싱하여 다음에 같은 리소스를 요청할 때 불필요한 네트워크 요청을 줄임
- 웹 페이지의 상태 관리
- 브라우저는 페이지의 상태를 관리하고, 사용자의 뒤로가기나 앞으로가기 동작에 따라 페이지의 이동과 상태 복원을 처리