웹 브라우저에 URL을 입력하면 생기는 일

송민지·2023년 5월 4일
0

네트워크

목록 보기
1/1
  1. 브라우저는 입력받은 URI를 파싱합니다. 프로토콜, URL 포트 등으로 파싱합니다.
  2. HSTS 목록을 조회합니다. 서버가 HTTPS만을 허용한다면 해당 서버에 요청할 때 HTTPS 만을 통해 통신을 합니다. 그리고 브라우저의 HSTS 캐시에 해당 URL을 저장하는데 이를 HSTS 목록이라 합니다.
  3. URL을 IP 주소로 변환합니다. DNS 서버로 도메인을 보내고 IP 주소를 반환받습니다.
  4. 라우터를 통해 해당 서버의 게이트웨이까지 이동합니다.
  5. ARP를 통해 IP 주소를 MAC 주소로 변환합니다.
  6. 대상 서버와 TCP 소켓을 연결합니다.
  7. HTTP 프로토콜로 요청을 보내고 응답합니다.
  8. 브라우저에서 응답을 해석하고 사용자에게 보여줍니다.

라는 글이 많다.

천천히 하나씩 뜯어보자

1. 브라우저는 입력받은 URI를 파싱합니다. 프로토콜, URL 포트 등으로 파싱합니다.

우리는 웹 사이트를 URL을 통해 이동한다.
하지만, 사실 웹 브라우저는 모두 고유의 IP주소를 갖고 있다.

그렇지만 홈페이지마다 주소를 외우고 다니기엔 기억하기도 어렵고, 기억한다고 해도 다른 사이트 주소와 헷갈릴 가능성도, IP주소가 섞일 가능성도 존재한다.

그렇기에 웹 사이트 이용자는 주소를 기억하기 쉽게 URL을 사용한다.

2. HSTS 목록을 조회합니다. 서버가 HTTPS만을 허용한다면 해당 서버에 요청할 때 HTTPS 만을 통해 통신을 합니다. 그리고 브라우저의 HSTS 캐시에 해당 URL을 저장하는데 이를 HSTS 목록이라 합니다.

HSTS

사이트가 HTTPS를 통해서만 접근되어야 하며 향후 HTTP를 사용하여 사이트에 접근하는 모든 시도는 자동으로 HTTPS로 변환되어야 함을 브라우저에 알리는 행위

이용자가 웹 사이트를 HTTP로 접근한다면, 이는 중간단계에서 리다이렉션을 악용하여 잘못된 서버로 연결할 수 있다.

HTTP STS (HSTS)헤더는 브라우저가 HTTP를 사용하여 사이트를 불러와서는 안 되며 대신 HTTP를 사용하여 사이트에 접근하려는 모든 시도를 HTTPS 요청으로 자동 변환해야 한다는 것을 알려준다.

https://hstspreload.org/
위의 서비스에서 도메인의 HSTS의 사전 로드 상태 및 자격을 확인할 수 있다.

3. URL을 IP 주소로 변환합니다. DNS 서버로 도메인을 보내고 IP 주소를 반환받습니다.

DNS

URL을 입력하게 되면 브라우저는 DNS를 통해 연결해야 하는 서버를 파악한다.
DNS는 입력된 도메인을 IP주소로 바꾸고 DNS root name server(일반적으로는 케이블 인터넷 공급업체, DSL 광대역 공급업체, 또는 인터넷 서비스 제공업체가 관리하는 DNS해석기)에 라우팅 된다.

여기에 찾는 내용이 있으면 괜찮지만, 내용이 없으면 도메인의 TLD 서버에 전달한다. 이 서버에서 도메인을 관리하는 Name Server에 대해 응답한다.

마침내 해당 도메인의 Name Server에 도착하게 되고 IP주소를 전달받는다.

DNS는 해당 IP주소를 일정기간 기억할 수 있게 저장하며 이 동작은 누군가가 다시 해당 도메인을 주소창에 입력하면, 처음보다 더 빠르게 작동할 수 있도록 해준다.

4. 라우터를 통해 해당 서버의 게이트웨이까지 이동합니다.

이제 찾고자 하는 인터넷 주소를 얻었다.
이 주소를 찾아가자!!

서버는 라우터를 통해 찾고자 하는 서버의 게이트웨이까지 갈 수 있다.

(라우터는 논리, 물리적으로 분리된 망 사이를 지나는 패킷의 위치에 따라 최적화된 경로를 지정하는 기능을 수행하는 장비다. OSI 7계층중 네트워크 계층에 해당하며, 상위 통신망과 하위 통신망을 이어주는 역할을 하고 있다 생각하면 된다.)

5. ARP를 통해 IP 주소를 MAC 주소로 변환합니다.

논리적인 IP 주소를 (망계층), 물리적인 MAC 주소로 (데이터링크 계층), 바꾸어주는 역할을 하는 주소 해석 프로토콜인 ARP를 이용하여 MAC 주소( 노드 또는 장치의 식별을 위해, 48 비트(6 바이트) 크기를 갖는, 하드웨어 상에 구현된 물리적 주소 )로 변환한다

6. 대상 서버와 TCP 소켓을 연결합니다.

TCP 글

7. HTTP 프로토콜로 요청을 보내고 응답합니다.

8. 브라우저에서 응답을 해석하고 사용자에게 보여줍니다.


웹 브라우저에 URL을 입력하면 어떤 일이 생기나요?
주소창에 www.naver.com을 쳤을때 생기는 일
정보통신 기술용어 해설
HTST(MDN)
MDN과 함께 읽어보면 좋은것

profile
기록하는 일상

0개의 댓글