브라우저의 동작

KOO HEESEUNG·2021년 5월 27일
0
post-thumbnail

네이버 부스트코스 웹 프로그래밍(풀스택) > 4) browser의 동작-1~2을 공부하며 정리한 내용입니다.

참고자료 : How Browsers Work

브라우저 컴포넌트

  • 사용자 인터페이스(UI) = 화면에 보이는 것들(닫기/뒤로 가기 버튼 등)
  • 브라우저 엔진 = 브라우저 소프트웨어를 동작시켜주는 핵심 엔진. 브라우저도 데이터 일부를 캐시하고 저장함. 이런 데이터를 관리하는 영역. 사용자 인터페이스와 렌더링 엔진 사이 동작을 제어함.
  • 렌더링 엔진 = 화면에 직접 위치를 잡고 색칠을 해주는 엔진. 파이어폭스의 Gecko, 사파리의 WebKit 등 렌더링 엔진은 브라우저별로 다르다.
  • 통신 : 특정 인터넷 주소를 해석하고, 통신하는 네트워킹 모듈
  • 자바스크립트 해석기 : 자바스크립트 코드를 해석하고 실행해줌
  • UI 백엔드 : UI 영역을 처리할 수 있는 백엔드 영역

브라우저 엔진의 메인 플로우

  1. HTML을 파싱(문자 단위로 해석)하여 트리 형태의 DOM(Document Object Model)으로 만듦
  2. HTML과 CSS를 파싱한 것을 합쳐 렌더 트리를 만듦
  3. 렌더 트리를 기준으로 화면에 어떻게 매칭할지 결정
  4. 결정 후 화면에 직접 그림을 그림

파싱

2 + 3 -1 이라는 수학식을 파싱한다면 숫자와 기호를 나누어 위 그림과 같은 트리 형태로 만들 수 있음.
나뉜 하나하나를 토큰이라고도 함.
파싱이란 토큰 단위로 잘라서 의미를 해석하고, 그 의미에 따라 실행해주는 것.

 <html>
  <body>
   <p>Hello World</p>
   <div><img src="example.png" /></div>
  </body>
</html>  

HTML은 위와 같이 꺽쇠로 짜여진 것으로, 이를 마크업이라고 하며, 브라우저에서는 아래 DOM 트리의 형태로 변환하여 처리함.

CSS 파싱


CSS는 {} 중괄호를 통해 key와 value값을 지정할 수 있음.
그림 좌측 p, div, .error 와 같은 것을 selector라고 함.

렌더 트리

0개의 댓글