HTTP 메시지란? 텍스트 메타 정보와 데이타로 구분할 수 있다 .
HTTP 메시지는 클라이언트의 요청이 서버방향으로 이동하며(인바운드) , 서버에서 처리가 끝난 뒤 결과값을 클라이언트로 리턴해준다(아웃바운드)
또한 메시지는 항상 다운스트림으로 흐르며, 발송자는 수신자의 업스트림이다
HTTP 메시지
단순한 데이타의 구조화된 블록이라 할 수 있다. 시작줄 / 헤더 / 바디 이렇게 세 부분으로 이루어진다.
- 시작줄 ?
Request 시, 메서드와 요청 URL, HTTP version ( GET /exam/help.txt HTTP/1.1 )
Response 시, HTTP version, 상태 코드 및 사유 구절 ( HTTP/1.1 200 OK )
- 메서드 ?
Request 의 시작줄은 메서드로 시작하며, 기본적으로 정의된 메서드도 있고, 확장하여 만들 수도 있다.
메서드 |
설명 |
Body |
GET |
서버에서 데이타를 가져온다 |
필요 없음 |
HEAD |
서버에서 데이타의 헤더만 가져온다 |
필요 없음 |
POST |
서버에서 데이타에 대해 어떤 처리를 요청한다 |
필요 함 |
PUT |
서버에서 요청 바디를 저장함 |
필요 함 |
TRACE |
메시지가 서버에 도달하는 과정을 추적 |
필요 없음 |
OPTIONS |
서버가 어떤 메서드를 수행할 수 있는지 확인 |
필요 없음 |
DELETE | 서버에서 데이타를 삭제한다 | 필요 없음 |
- 상태코드와 사유구절 ?
클라이언트에게 무엇이 일어났는지 말해준다
상태코드의 종류
100-199 정보
200-299 성공
300-399 리다이렉션
400-499 클라이언트 에러
500-599 서버 에러
ex. 200 OK , 404 Not Found
상태 코드는 현재 프로토콜의 확장으로 새롭게 정의할 수도 있다.
- 헤더 ?
구조-> Name : Value (CRLF), 각 헤더는 반드시 CRLF 로 끝나야 한다
요청과 응답메시지에 추가적인 정보를 담고 있다. name - value 의 쌍 목록이다.
ex. Content-length: 255
요청과 응답에 따라 요청헤더, 응답헤더, 일반헤더(양쪽 다)로 나눌수 있고,
또한 Entity 헤더는 본문 크기, 콘텐츠 또는 리소스 그 자체를 말한다. 헤더 역시 확장하여 새로 정의할 수 있다.
- 바디 ?
실제 데이타의 본문. 텍스트, 이미지, 비디오, HTML 문서, 소프트웨어 애플리케이션 등 여러 종류의 데이타가 가능
'Development > HTTP' 카테고리의 다른 글
HTTP 메시지 헤더에 대해 조금 더 . . . (1) | 2016.07.21 |
---|---|
HTTP 메시지 - 메서드 (0) | 2016.07.20 |
2. URL과 리소스 - URL 단축과 확장, 설계 (0) | 2016.07.17 |
2. URL과 리소스 - URL 문법 (0) | 2016.07.15 |
1. HTTP 개관 (0) | 2016.07.14 |