Zero To One
HTTP Messag 본문
HTTP 메시지는 클라이언트와 서버 간에 데이터가 교환되는 방식을 보여주는 데 사용됩니다. 클라이언트-서버 아키텍처를 기반으로 합니다. HTTP 클라이언트는 하나 이상의 HTTP 요청 메시지를 보내기 위해 서버에 연결을 설정하는 프로그램입니다. HTTP 서버는 HTTP 응답 메시지를 전송하여 HTTP 요청을 처리하기 위한 연결을 허용하는 프로그램입니다.
HTTP-message = Request | Response ; HTTP/1.1 messages
1) 초기 요청 라인(Initial Request Line)
요청과 응답에 대한 첫 번째 줄이 다릅니다.
요청 줄은 메서드 이름, 요청된 리소스의 로컬 경로, 사용 중인 HTTP 버전의 세 부분으로 구성됩니다.
이 모든 부분들은 공백으로 분리되어 있습니다.
GET /path/to/file/index.html HTTP/1.0
- GET는 가장 일반적인 HTTP 메서드입니다.
- Path는 호스트 이름 뒤에 있는 URL 부분을 표시합니다. 요청 URI라고도 합니다.
- HTTP 버전은 항상 대문자인 "HTTP/x.x" 형식을 사용합니다.
2) 초기 응답 라인 (Initial Response Line)
초기 응답 줄을 상태 줄이라고도 한다.
또한 HTTP 버전, 요청 결과를 제공하는 응답 상태 코드, 상태 코드를 설명하는 영문 이유 구 등 세 부분으로 구성되어 있다.
HTTP/1.0 200 OK
or
HTTP/1.0 404 Not Found
응답 줄과 요청 줄의 HTTP 버전은 "HTTP/x.x"와 동일하다.
Message Headers
Message Headers는 요청 및 응답에 대한 정보를 제공합니다. 또한 메시지 본문에 전송되는 객체에 대한 정보도 제공합니다. 메시지 헤더는 네 가지 유형으로 구성됩니다.
1. General Header(일반 머리글): 요청 메시지와 응답 메시지에 모두 적용할 수 있습니다.
2. Request Header(요청 헤더): 요청 메시지에 대해서만 적용할 수 있습니다.
3. Response Header(응답 헤더): 응답 메시지에만 적용할 수 있습니다.
4. Entity Header(도면요소 헤더): 엔티티 본체와 요청에 의해 식별된 자원에 대한 메타 정보를 정의한다.
위의 모든 헤더는 동일한 일반 형식을 따릅니다. 각 헤더 필드는 다음과 같이 이름 다음에 콜론이 오는 필드와 필드 값으로 구성됩니다
message-header = field-name ":" [ field-value ]
Message Body
HTTP 메시지의 메시지 본문은 요청 및 응답과 관련된 전체 본문을 전달하는 데 사용됩니다.
메시지 본문은 전송 인코딩 헤더 필드에 표시된 대로 전송 인코딩이 적용된 경우에만 전체 본문과 다릅니다.
message-body = entity-body
| <entity-body encoded as per Transfer-Encoding>
전송 인코딩은 메시지를 안전하고 적절하게 전송하기 위해 응용 프로그램에서 적용하는 전송 코딩을 나타내는 데 반드시 사용해야 합니다. 전송 인코딩은 메시지의 속성입니다.
General Header Fields
일부 헤더 필드에는 요청 및 응답 메시지에 모두 적용할 수 있습니다. 이 헤더 필드는 메시지가 전송될 때만 적용됩니다.
general-header = Cache-Control
참조 :
HTTP Message - javatpoint
HTTP Message with http Tutorial, HTTP, Parameters of HTTP, Working of Web, HTTP Response, HTTP Request, HTTP Methods, HTTP Message, HTTP Content Negotiation etc.
www.javatpoint.com