728x90
반응형
SMALL
리액트js를 공부하면서 필요한 브라우저의 동작원리에 대해 한번 공부해보았습니다.
아주 간단하게 기록을 해봤습니다.
저희가 브라우저 주소창에 http://google.com과같은 과같은 웹주소를 입력하면 브라우저는 Http GET요청을
해당 URL의 서버로 전송합니다. 보통 프론트엔드가 있는 웹 서비스의 경우 HTML파일을 결과로 반환합니다.
HTML을 받은 브라우저는 그림처럼 두 단계를 거쳐 텍스트로된 HTML을 브라우저에 보여줍니다.
첫 번째 단계는 파싱이고,
두 번째 단계는 랜더링입니다.
파싱은 쉽게 말씀드리면 랜더링의 전처리 단계입니다.
파싱 단계에서 브라우저가 하는 일은 크게 3가지가 있습니다.
- 첫 번째 : 브라우저는 HTML을 트리 자료 구조의 형태인 DOM트리로 변환합니다.
- 두 번째 : 이미지, CSS, SCRIPT 등 다운로드해야하는 리소스를 다운로드 합니다. 특히 CSS의 경우 다운로드 한 후 CSS를 CSSOM 트리로 변환합니다.
- 세 번째 : 다운받은 자바스크립트를 인터프리트, 컴파일, 파싱 및 실행합니다.
파싱을 마친 후 브라우전느 렌더링에 들어갑니다.
랜더링은 첫번쨰로 DOM트라와 CSSOM 트리를 합쳐 랜더 트리를 만듭니다.
내용인 DOM과 다지인인 CSSOM을 합치는 것입니다.
그런 다음 레이앗웃을 정합니다. 이는 트리의 각 노드가 브라우저의 어디에 배치될지,
어떤 크기로 배치될지를 정하는 겁입니다.
마지막으로 브라우저 스크린에 렌더 트리의 각 노드를 그려줍니다.
그러면 사용자는 브라우저 상에서 시각화된 HTML파일을 볼 수 있게됩니다.
또 대부분의 브라우저는 개발을 돕는 개발자 툴을 제공합니다.
브라우저 상에서 시각화된 HTML이나 CSS, 자바스크립트 로그를 보고 싶다면 F12를 눌러
개발자 도구를 실행하면 됩니다.
개발자 툴을 열면 오른쪽 또는 아래쫏에 디버깅창이 생긴다.
728x90
반응형
LIST
'Spring boot 프로젝트 기록 > 기본적인 기초 공부' 카테고리의 다른 글
React 컴포넌트 (0) | 2021.12.02 |
---|---|
React.js 가 뭐에요?ㅠㅠ (0) | 2021.12.02 |
프론트엔드란? + node.js 간단설명 (0) | 2021.12.02 |
REST API (0) | 2021.11.23 |
레이어드 아키텍처 (0) | 2021.11.23 |
댓글