250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- vscode
- loop:true
- querySelector
- swiperOption
- classlist
- eslint
- Vue
- slidePerView
- prettier
- index
- JavaScript
- swiper
- js
- slideChange
- display
- slidePerGroup
- activeIndex
- vue2
- v-bind
- centerSlides
- javascirpt
- archiver
- eslint prettier
- 인덱스
- CORS
- css
- watchOverflow
- jquery
- realIndex
- error
Archives
- Today
- Total
코딩하는 둥둥
브라우저 렌더링 본문
728x90
렌더링
- 서버로부터 HTML 파일을 받아 브라우저에 뿌려주는 과정
- HTML, CSS, JavaScript 코드의 사용을 말한다.
- 화면에 표시할 웹 페이지를 만드는 과정
- 웹 사이트 코드를 사용자가 웹 사이트를 방문할 때 보게 되는 대화형 페이지로 바꾸는 웹 개발에 사용되는 절차
- 렌더링 엔진에 의해 완성
렌더링 엔진
웹 페이지를 렌더링 하기 위해 웹 브라우저에서 사용하는 소프트웨어브라우저 엔진
이라고 불리기도 한다.
브라우저 렌더링
- 브라우저가 서버로부터 HTML 문서를 다운받는다.
- 렌더링 엔진이 HTML 문서를 파싱해서
DOM 트리
를 만든다.DOM
: HTML의 JavaScript 표현
- 외부 CSS파일과 함께 포함된 스타일 요소를 파싱해
CSSOM 트리
(CSS 개체 모델)를 만든다.- 스타일은 브라우저의 자체 스타일, 사용자 정의 스타일, HTML 태그에 걸려 있는 스타일 순서로 처리되며, 나중에 처리되는 스타일을 따르게 된다.
- 즉,
인라인
으로 들어가있는 스타일 속성이 우선순위를 가진다.
- DOM트리와 CSSOM을 결합해
렌더링 트리(Rendering Tree)
를 형성한다.- 이때 화면에 드러나지 않는
head
태그나display
속성에none
값이 할당된 요소는 렌더링 트리에 포함되지 않는다.
- 이때 화면에 드러나지 않는
- 기기의 뷰포트 내에서 노드들의 정확한 위치와 크기를 계산한다. (
레이아웃 단계
/리플로우
) - 렌더링 엔진이 페인트 이벤트를 발생시켜 렌더링 트리(개별 노드)를 화면에 그린다. (
페인팅
/레스터화
)
렌더링이 완료된 상태에서 사용자의 인터렉션에 의해 화면의 일부 영역이 변경되면?
- 레이아웃이 변경될 경우 :
리플로우
또는리페인트
가 발생한다.- DOM 엘리먼트 추가/제거/변경, CSS 스타일 추가/제거/변경 등
- 가시성에 영향을 주는 엘리먼트만 변경될 경우 :
리페인트
- opacity, background-color 등
따라서 최적의 렌더링 성능을 얻기 위해서는 위 단계를 최적화 해야한다.
References.
https://defineall.tistory.com/707
https://chunggaeguri.tistory.com/entry/HTML-%EB%A0%8C%EB%8D%94%EB%A7%81Rendering%EC%9D%B4%EB%9E%80#:~:text=%EB%A0%8C%EB%8D%94%EB%A7%81%EC%9D%80%20%EC%9B%B9%EC%82%AC%EC%9D%B4%ED%8A%B8%20%EC%BD%94%EB%93%9C,%EC%97%94%EC%A7%84%EC%97%90%20%EC%9D%98%ED%95%B4%EC%84%9C%20%EC%99%84%EC%84%B1%EB%90%A9%EB%8B%88%EB%8B%A4.
https://velog.io/@ru_bryunak/%EB%A0%8C%EB%8D%94%EB%A7%81%EC%9D%B4%EB%9E%80
728x90
'Computer Science > Rendering' 카테고리의 다른 글
클라이언트 사이드 렌더링(CSR) (0) | 2023.01.15 |
---|---|
검색 엔진 최적화 (SEO) (0) | 2023.01.15 |
서버 사이드 렌더링 (SSR) (0) | 2023.01.15 |