웹페이지가 브라우저에 렌더링되는 과정

2023. 2. 23. 16:16·네트워크

1. DOM, CSSOM생성: 가장 첫번째 단계로 서버로부터 받은 HTML, CSS를 다운받는다 → 단순한 텍스트인 HTML, CSS파일을 Object Model로 만든다. HTML은 DOM으로, CSS는 CSSOM으로 만들어진다. (html이 여기서 파싱된다) DOM Tree와 CSSOM Tree가 만들어진다.

 

2. Render Tree생성: DOM Tree와 CSSOM Tree가 만들어졌으면 그 다음으로는 이 둘을 이용하여 Render Tree를 생성한다. 렌더트리에는 스타일 정보가 설정되어있고, 실제 화면에 표현되는 노드들로 구성된다.

 

3. Layout 단계: 브라우저의 뷰포트(Viewport) 내에서 각 노드들의 정확한 위치와 크기를 계산한다. 생성된 Render Tree 노드들이 가지고 있는 스타일과 속성에 따라서 브라우저 화면의 어느위치에 어느크기로 출력될지 계산하는 단계이다.(reflow 단계) 레이아웃 단계에서 %, vh, vw와 같이 상대적인 위치, 크기 속성은 실제 화면에 그려지는 픽셀 단위로 변환된다.

 

4. Paint: Layout 계산이 완료되면 이제 요소들을 실제 화면을 그리게 된다.(repaint 단계) 처리해야하는 스타일이 복잡할수록 paint 단계에 소요되는 시간이 길다. (가령 그라데이션, 그림자 효과 > 단색 배경)

'네트워크' 카테고리의 다른 글

[Docker] 도커 기본 개념 정리  (0) 2024.02.29
AWS로 https 배포하기 (feat. S3, Route 53, Certificate Manager, CloudFront)  (0) 2023.05.04
캐시 / HTTP  (0) 2023.02.23
REST API  (0) 2023.02.21
'네트워크' 카테고리의 다른 글
  • [Docker] 도커 기본 개념 정리
  • AWS로 https 배포하기 (feat. S3, Route 53, Certificate Manager, CloudFront)
  • 캐시 / HTTP
  • REST API
youjeong_choi
youjeong_choi
  • youjeong_choi
    youjeong
    youjeong_choi
  • 전체
    오늘
    어제
    • 분류 전체보기 (101) N
      • HTML, CSS (7)
      • JavaScript (19)
        • 모던 자바스크립트 딥다이브 (4)
      • ReactJS (17) N
      • TIL (15)
      • WIL (17)
      • 알고리즘 (17)
      • 네트워크 (5)
      • Vue (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    익명 함수
    자바스크립트
    혼공스
    항해99 실전프로젝트
    리액트 라이프 사이클
    항해99리액트
    파이썬
    항해99
    선언적 함수
    피니아
    모던자바스크립트딥다이브
    알고리즘 문제
    항해99주특기
    항해99리액트숙련주차
    무한렌더링
    리액트 라우트
    알고리즘
    리액트
    항해99 주특기
    항해99주특기리액트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
youjeong_choi
웹페이지가 브라우저에 렌더링되는 과정
상단으로

티스토리툴바