HTTP 요청/응답 메시지 구조에 대한 포스팅 입니다.
이 글의 예제에서는 터미널에서 아래 cURL 명령어를 실행하여 https://www.google.com/search?q=curl 에 GET 요청 시의 요청 메시지와 응답 메시지를 활용하였습니다.
(-v
는 동작 상세를 출력하는 옵션으로, cURL 명령어 관련해서는 링크를 참고해주세요.)
$ curl -v https://www.google.com/search?q=curl
GET /search?q=curl HTTP/2
Host: www.google.com
user-agent: curl/7.79.1
accept: */*
요청 메시지 자체를 담고 있습니다.
GET /search?q=curl HTTP/2
구성 요소
HTTP 메서드 상세는 별도 포스팅으로 다룹니다.
HTTP 전송에 필요한 모든 부가정보를 담고 있습니다.
Host: www.google.com
user-agent: curl/7.79.1
accept: */*
HTTP 헤더 상세는 별도 포스팅으로 다룹니다.
실제 전송할 데이터를 담고있습니다.
(이 글의 예제에서는 GET 요청으로, body가 없습니다.)
HTTP/2 403
content-type: text/html; charset=UTF-8
date: Tue, 06 Dec 2022 00:09:08 GMT
cache-control: private
x-xss-protection: 0
x-frame-options: SAMEORIGIN
vary: Accept-Encoding
<!DOCTYPE html><html lang=en>...생략</html>
(일부 헤더 및 본문 내용은 생략하였습니다.)
응답 메시지 자체를 담고 있습니다.
HTTP/2 403
구성 요소
HTTP 상태코드 상세는 별도 포스팅으로 다룹니다.
HTTP 전송에 필요한 모든 부가정보를 담고 있습니다.
content-type: text/html; charset=UTF-8
date: Tue, 06 Dec 2022 00:09:08 GMT
cache-control: private
x-xss-protection: 0
x-frame-options: SAMEORIGIN
vary: Accept-Encoding
실제 전송할 데이터를 담고있습니다.
(이 글의 예제에서는 클라이언트 화면을 그리기 위한 HTML 코드가 메시지 본문이 됩니다.)
<!DOCTYPE html><html lang=en>...생략</html>