브라우저에서 URL을 입력하고 요청한 페이지를 볼 때까지의 과정

Hong·2022년 1월 27일
0

1. URL 파싱

입력받은 URL의 구조를 해석한다. (각각 프로토콜, URL, PORT를 분석)
프로토콜과 포트를 입력하지 않으면 기본포트를 사용하는데 HTTP는 80포트, HTTPS는 443포트를 사용한다.


2. HSTS 목록을 조회

  • HSTS(HTTP Strict transport security)는 HTTP를 허용하지 않고 HTTPS를 사용하는 연결만 허용하는 기능이다.

3. URL을 IP주소로 변환

URL로는 컴퓨터끼리 통신할 수 없기 때문에 IP주소로 변환 해야 통신이 가능하다. 여기서 브라우저에서는 로컬 hosts 파일과 브라우저 캐시에 해당 URL이 존재하는지 확인하고 없으면 DNS서버에 요청하여 URL을 IP주소로 변환한다.


4. 라우터를 통해 해당 서버에 대한 경로 이동

변환 된 IP주소를 받으면 해당 서버로 라우터에 라우팅을 통해 요청을 보낸다.


5. ARP(Address Resolution Protocol)를 통해 IP주소를 MAC주소로 변환

실질적인 통신을 하기 위해서는 논리 주소인 IP주소를 물리 주소인 MAC 주소로 변환해야 한다. 이를 위해 해당 네트워크 내에서 ARP를 브로드 캐스팅한다.

  • ARP(주소 결정 프로토콜): 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응(bind)시키기 위해 사용되는 프로토콜이다.
  • 브로드캐스팅(broadcasting)은 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식을 의미한다.

6. 서버와 통신하기 위해 TCP 소켓 연결 진행

소켓 연결은 3-way-handshake라는 과정을 통해 이루어진다. 하지만 지금 하는 요청은 HTTPS 요청이다. 그렇기 때문에 서로 암호화 통신을 위한 TLS 핸드쉐이킹이 추가된다. 이를 통해 서버와 클라이언트는 암호화 통신을 진행할 수 있다.


7. HTTP(HTTPS) 프로토콜로 요청, 응답

연결이 완료되면 해당 페이지 주소를 서버에게 요청한다. 서버에서 해당 요청을 받고 검사를 진행 한 후 서버는 이 요청에 대한 응답을 생성하여 브라우저에게 전달한다.


8. 브라우저에서 응답을 해석

전달받은 내용을 해석하여 우리가 원하는 URL 주소가 그려진다.

profile
코딩 배우기

0개의 댓글