먼저 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/
'소프트웨어 개발' 카테고리의 다른 글
[Redis] 레디스의 주요 명령어에 대해 간단히 알아보자 (0) | 2024.02.18 |
---|---|
[Redis] 레디스의 특징에 대해 간단히 알아보자 (0) | 2024.02.17 |
'DB 커넥션풀'에 대해 알아보자 (0) | 2024.02.15 |
'스레드풀'에 대해 알아보자 (0) | 2024.02.14 |
'NoSQL'에 대해 알아보자 (0) | 2024.02.12 |