클라이언트(예: 웹 브라우저)는 사용자가 URL을 입력하거나 링크를 클릭할 때 GET 요청을 생성합니다. 이 요청에는 요청 메서드(GET), 요청 URL, HTTP 버전, 그리고 여러 HTTP 헤더가 포함됩니다.
클라이언트는 URL에 포함된 도메인 이름(예: www.example.com)을-jy1s/) IP 주소로 변환하기 위해 DNS 조회를 수행합니다. 이 과정은 다음과 같습니다:
클라이언트는 얻은 IP 주소를 사용하여 웹 서버와 TCP 연결을 수립합니다. 이 과정은 3-way 핸드셰이크로 이루어집니다:
SYN 패킷을 보냅니다.SYN-ACK 패킷으로 응답합니다.ACK 패킷을 보내면 연결이 수립됩니다.TCP 연결이 수립되면, 클라이언트는 GET 요청을 웹 서버로 전송합니다.
이 요청은 HTTP 프로토콜을 사용하여 전송됩니다.
웹 서버 소프트웨어(예: Apache, Nginx, IIS)는 지정된 포트(보통 HTTP는 80, HTTPS는 443)에서 들어오는 요청을 수신합니다.
웹 서버 소프트웨어는 요청을 처리합니다. 이 과정은 여러 단계로 나뉩니다: