HTTP 메시지 구조
HTTP는 클라이언트/서버(C/S) 아키텍처 모델을 기반으로 하며 안정적인 링크를 통해 정보를 교환하며 상태 비저장 요청/응답 프로토콜입니다.
HTTP "클라이언트"는 하나 이상의 HTTP 요청을 서버에 보내기 위해 서버에 연결하는 애플리케이션(웹 브라우저 또는 기타 클라이언트)입니다.
HTTP는 URI(Uniform Resource Identifier)를 사용하여 데이터를 전송하고 연결을 설정합니다.
연결이 설정되면 데이터 메시지는 인터넷 메일 [RFC5322] 및 MIME(Multi Purpose Internet Mail Extensions) [RFC2045]에서 사용되는 것과 유사한 형식을 사용하여 전송됩니다.
클라이언트 요청 메시지
클라이언트가 서버에 HTTP 요청을 보냅니다. 요청 메시지에는 요청 라인, 요청 헤더, 빈 라인, 요청 데이터 형식이 포함됩니다. 메시지.
서버 응답 메시지
HTTP 응답도 네 부분, 즉 상태 줄, 메시지 헤더, 빈 줄 및 응답 본문으로 구성됩니다.
예
다음 예는 GET을 사용하여 데이터를 전송하는 일반적인 예입니다.
클라이언트 요청:
GET /hello.txt HTTP/1.1 User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 Host: www.example.com Accept-Language: en, mi
서버 응답:
HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT ETag: "34aa387-d-1568eb00" Accept-Ranges: bytes Content-Length: 51 Vary: Accept-Encoding Content-Type: text/plain
출력 결과:
Hello World! My payload includes a trailing CRLF.