https://
또는 http://
와 같이 어떤 프로토콜을 사용하여 URL을 요청할 것인지 정한다.www.naver.com
은 도메인 네임으로 네트워크상에서 컴퓨터를 식별하는 호스트명을 가리킨다.:443
요청을 보낼 포트 번호를 의미한다. 포트 번호를 생략해서 요청한다면 브라우저는 기본값을 이용해 요청한다. http(80)
, https(443)
브라우저는 입력받은 URL을 위와 같은 구조로 파악하고 파싱한다.
웹 사이트에 접속할 때, 강제적으로
HTTPS
Protocol로만 접속하게 하는 기능이다. 즉, 보안 강화를 위해 브라우저에게 HTTPS 사용을 강제한다.
보통 웹 사이트에 접속할 때, 해당 사이트가 HTTPS를 지원하는 지 제대로 알지 못한다.
사용자가 프로토콜을 명시하지 않고 도메인으로만 URL을 요청했을 때는 다음의 과정이 이루어진다.
www.naver.com
URL 입력301
또는 302
Status code를 전송한다.IP(Internet Protocol address)
컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다.
URL주소를 IP 주소로 변환해야 통신을 할 수 있다.
hosts 파일이란?
호스트 이름에 대응하는 IP 주소가 저장되어 있어서 도메인 이름 시스템(DNS)에서 주소 정보를 제공받지 않고도 서버의 위치를 찾게 해주는 파일.
주소 결정 프로토콜(Address Resolution Protocol, ARP)은 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응(bind)시키기 위해 사용되는 프로토콜이다
로컬 네트워크에서 단말 간 통신을 하기 위해 IP 주소와 함께 MAC 주소를 이용한다. IP 주소를 MAC 주소와 매칭하여 목적지 IP의 MAC 주소를 갖고 있는 단말을 제대로 찾기 위해서 사용한다.
해당 IP의 서버까지 도달했으니 통신하기 위해 TCP 소켓 연결을 실행한다.
Document Object Model(문서 객체 모델)
- HTML 태그들에 대해서 자바스크립트로 활용할 수 있는 객체로 변환한다.
- 즉, DOM은 웹 브라우저가 html페이지를 인식하는 방식이다. (Tree 구조)
문서 파싱은 브라우저가 코드를 이해하고 사용할 수 있는 구조로 변환하는 것.
어휘 분석
과 구문 분석
의 과정을 거쳐서 파싱 트리
를 구축함.어휘 분석
- Tokenizer, Lexer, 구문 분석
- Parser파싱 트리
가 도출 됐다고 해서 끝이 아니다. 컴파일의 과정일 뿐 이후에 기계 코드 문서로 변환하는 과정이 있다.렌더링 엔진이 요청 받은 내용을 브라우저 화면에 출력함.
1. 브라우저에 특정 URL을 입력하면 서버에서 html, css, image 등의 static 파일들을 전송한다.
2. 파싱을 통해 HTML 문서를 파싱 트리
로 변환한다.
3. 파싱 트리
와 CSS 파일 등과 함께 렌더 트리
를 구축한다.
4. UI 백엔드에서 렌더 트리
를 탐색하며 화면에 그려간다. 서버로부터 전송받은 내용을 순차적으로 브라우저 화면에 출력한다. 때문에 화면이 점진적으로 출력된다.