하이퍼텍스트 전송 프로토콜(HTTP, Hypertext Transfer Protocol)

:: 웹 브라우저가 웹 서버에 연결해 웹 페이지를 볼 수 있게 해주는 월드와이드웹 전달 메커니즘이다.

 

 

초기 HTTP GET 요청 패킷

 

HTTP는 TCP를 통해 HTTP 통신을 위한 표준 포트인 서버의 포트 80으로 전달된다. 

HTTP 패킷은 송신기가 수신기에서 수행할 동작을 나타낸다. 

 

이 패킷은 GET 방법, URI를 /download.html로, 요청 버전을 HTTP/1.1로 구분한다.

이는 클라이언트가 HTTP 1.1 버전을 사용해 웹 서버의 download.html 페이지를 다운로드(GET)하라는 요청을 보내는 것이다.

 

그런 다음 호스트는 자신에 대한 정보를 웹 서버에 보낸다.

사용 중인 브라우저(User-Agent), 브라우저에서 사용하는 언어(Accept-Languages)와 쿠키 정보 등이 포함된다.

서버는 이 정보를 사용해 호환성을 보장하기 위해 클라이언트로 보낼 데이터를 판별할 수 있다.

 

클라이언트 브라우저와 웹 서버 간 TCP 전송 데이터

(여기서 클라이언트는 145.254.160.237, 서버는 65.208.228.223 이다)

 

4번 패킷처럼 클라이언트가 HTTP GET 요청을 전송하면

서버는 5번 패킷처럼 TCP ACK로 응답하고 패킷을 확인한 다음 요청된 데이터를 전송하기 시작한다(6번 패킷)

그리고 나서 클라이언트는 응답 패킷을 보내는 것이다(7번 패킷)

 

응답 코드 200인 최종 HTTP 패킷

클라이언트의 성공적 요청에 서버가 200 OK 응답을 보낸다.

패킷에는 타임스탬프와 웹서버의 콘텐츠 및 구성 매개변수 인코딩에 대한 몇 가지 추가 정보가 포함된다. 

클라이언트가 이 패킷을 받으면 트랜잭션이 완료된다.

 

 

 

'Study > NETWORK' 카테고리의 다른 글

Wireshark - HTTP 패킷  (0) 2022.08.23
HTTP 업로드 실패 패킷  (0) 2021.03.31
Wireshark를 통한 네트워크 패킷 분석 ①  (0) 2021.03.12

+ Recent posts