230904(월)
🚤 성장일지 7.0
책 행복한 이기주의자(웨인 다이어)
의 내용에 자극받아 시작하는 소박한 성장기록
살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!
⚛ (7.0)<완전 개편>
파인만 학습법
을 알게 된만큼, 성장일지는 정말 그 날의 키워드 중심으로 간단하게 정리하도록 한다.
⚛️ 키워드: 직관적이고 쉽고 간단하게 작성
DNS
Domain Name System의 약자로, 도메인 주소를 IP 주소로 변환하는 시스템이다. DNS가 존재하는 이유는 우리가 어떤 웹 사이트에 접속할 때, 단순히 숫자로만 이루어진 IP 주소를 입력하는 것보다 의미를 갖는 문자로 된 도메인 주소를 입력하는 것이 더 편리하기 때문이다. DNS는 OSI 7계층에서 HTTP와 같이 응용 계층에 속한다. (도메인 주소를 통해 IP 주소를 요청하는 것이니)
우리가 도메인 주소를 입력하면 처음 Local DNS Server(Resolver, 주로 Internet Service Provider)에게 도메인 주소를 요청한다. Local DNS Server는 Root DNS Server에게 도메인 주소를 요청하고, Root DNS Server는 Top-Level Domain DNS Server에게 도메인 주소를 요청한다. 그리고 Top-Level Domain DNS Server는 Second-Level Domain DNS Server에게 도메인 주소를 요청한다. 이렇게 계속해서 도메인 주소를 요청하면서 IP 주소를 받아온다. 그리고 Local DNS Server는 IP 주소를 받아오면 이를 캐싱하고, 이후에 같은 도메인 주소를 요청하면 캐싱된 IP 주소를 바로 응답한다.
브라우저 렌더링 과정 - Composition(합성)
서버에게 받은 html, css, js를 통해 DOM, CSSOM, Render Tree를 만들고 브라우저는 이를 렌더링한다. 이 때, 각 노드의 위치와 크기를 계산하는 레이아웃, 그 다음 스타일에 대한 정보를 계산하여 입히는 페인트, 끝으로 각 레이어들을 합치는 합성 과정을 거친다. 이전에는 당연히 페인트 과정에서 각 노드들을 그린다
고 생각했다. 헌데 실제로는 페인트 과정 중에는 각 레이어마다 어떻게 그릴지
에 대한 정보만 가지고 있다. 그리고 합성 과정에서 각 레이어들을 합쳐서 브라우저에게 보여준다.
📝 회고
오늘 꼭 가야만 하는 약속도 가고 계획한 공부도 전부 하고..! 바쁘지만 뿌듯하게 보낸 하루였다. 너무 무리하지 않는 선에서 시간을 좀 길게 보고 그 날 해야할 것들을 해나아가는 게 좋은 것 같다. 그래야 더 효율적으로 시간을 보낼 수 있을 것 같다. :)
참고
- 하나몬: DNS란?
- 벨로그: 주소창에 www.google.com을 입력했을 때 일어나는 과정
- 웹 렌더링 과정_operation(layout, paint, composition)에 관해
undefined