소프트웨어 개발

웹 브라우저에 URL을 입력하면 어떤 일이 일어날까?

hyunjuuun.dev 2024. 2. 16. 07:00

 

먼저 URL이란,

Universe Resource Locator 를 의미하며 4가지 파트로 구성된다.

 

ex)

http://example.com/product/electric/phone

  • Scheme
  • Domain
  • Path
  • Resource

Scheme

  • http:
  • 브라우저가 http 프로토콜을 통해 서버와 연결한다는 것을 알려준다.

Domain

  • example.com
  • 사이트의 도메인명

Path

  • product/electric

Resource

  • phone

브라우저는 어떤 과정을 통해 example.com의 서버에 도착할 수 있을까?

DNS(Domain Name System) lookup을 통해 도메인의 ip 주소를 찾아낸다.

브라우저는 해당 과정을 빠르게 하기 위해 접속한 도메인에 대한 ip 주소를 잠시동안 캐싱해둔다. 만약 캐싱된 데이터가 없다면 DNS 서버 요청을 통해 ip 주소를 조회한다.

 

ip 주소를 조회했다면 브라우저는 서버와 TCP 커넥션을 맺는다. (TCP 커넥션을 맺는 과정에서는 핸드셰이킹을 진행한다.)

커넥션을 맺는 로드를 감소시키기 위해 최신 브라우저들은 keep-alive connection 을 통해 TCP 커넥션을 재사용한다.

 

TCP 커넥션이 잘 맺어졌다면 최종적으로 브라우저는 서버에 요청을 보낸다.

서버는 요청을 처리하여 응답해준다.

 

참고)

https://aws.amazon.com/ko/blogs/korea/what-happens-when-you-type-a-url-into-your-browser/