개요
1. 입력된 URL의 해석
2. DNS 조회
3. TCP 연결
4. HTTP 요청 전송
5. 서버 처리 및 응답
입력된 URL의 해석
URL을 입력하면 브라우저는 URL에 포함된 다양한 정보를 해석하여 어떤 프로토콜을 사용할 것인지, 서버의 주소는 무엇인지, 어떤 자원을 요청할 것인지를 각각 결정한다. 예를 들어,
https://hyeonjong.com/post
이라는 URL을 입력하면 https
는 사용할 프로토콜, hyeonjong.com
은 서버의 주소, /post
는 요청할 자원의 경로를 의미한다.프로토콜
- 프로토콜은 컴퓨터나 네트워크 장비들이 서로 통신할 때 지켜야 하는 규칙이나 약속의 집합이다. 간단하게 말하면 데이터 교환을 위한 표준 방식을 의미한다.
- 인터넷에는 다양한 종류의 프로토콜이 사용되며, HTTP(Hyper Text Transfer Protocol), HTTPS(HTTP + Secure), TCP, FTP 등이 있다.
- 프로토콜마다 저마다의 역할과 특징이 있다.
URL
- URL은 특정 웹 자원을 가리키는 주소이며 다음과 같은 구조로 이루어져 있다.
프로토콜://도메인명:포트/경로?쿼리스트링#프래그먼트
- 프로토콜: 위에서 설명한 것처럼 HTTP/HTTPS가 이에 해당한다.
- 도메인명: 웹페이지를 호스팅하는 서버의 이름이다.
- 포트: 서버 내에서 특정 프로세스를 가리키는 번호이다.
- 일반적으로 HTTP는 80번, HTTPS는 443번 포트를 사용한다.
- URL에서 포트 번호는 생략될 수 있으며, 생략된 경우 기본 포트 번호를 사용한다.
- 경로: 서버에서 특정 자원(html, javascript, css, image 등)에 접근하기 위한 경로이다.
- 쿼리스트링: 웹 서버에 제공되는 추가 파라미터이다.
- 프래그먼트: 웹페이지 내의 특정 부분을 직접 가리키는 식별자이다. 주로 문서 내의 북마크 역할을 한다.
이러한 URL의 구성 요소를 통해 브라우저는 서버와의 통신을 준비하게 된다. 이어지는 과정에서는 DNS 조회를 통해 도메인명을 IP 주소로 변환하고, TCP 연결을 설정하여 안정적인 데이터 전송을 보장한다. 최종적으로 HTTP 요청을 전송하여 서버로부터 요청한 자원을 응답받게 된다. 이러한 과정은 웹 브라우징의 기초가 되는 단계로, 웹 페이지가 사용자에게 제공되기까지의 여정을 이해하는 데 중요한 역할을 한다.