개발 공부/HTTP 공부

[HTTP] HTTP 메세지

종범2 2020. 6. 22. 21:19

HTTP 메세지

HTTP 메세지는 애플리케이션 간에 주고받은 데이터의 블록들이다. 메세지는 시작줄, 헤더 블록, 본문 이렇게 세 부분으로 구성되어 있다. 메세지는 요청 메세지나 응답 메세지가 된다. 요청 메세지는 서버로 요청할 때 보내는 데이터블록이고 응답 메세지는 서버에서 요청에 응답하여 보내는 데이터 블록이다.

 

시작줄

요청 메세지의 경우 시작줄은 메서드, 요청 URL, 버전으로 구성되어있고 응답 메세지의 경우 버전, 상태코드, 사유구절로 구성되어 있다.

 

메서드

메서드는 서버가 클라이언트에게 기대하는 동작을 의미한다. 일반적으로는 7가지 메서드가 존재하며 필요에 따라 확장하여 다른 메서드를 정의할 수도 있다. 메서드는 GET, HEAD, POST, PUT, TRACE, OPTIONS, DELETE가 있으며 각각의 의미는 있지만 해당 메서드로 다른 의미의 기능을 구현하더라도 문제가 생기진 않는다.

 

상태코드

상태코드는 서버가 클라이언트에게 어떤 일이 일어났는지 알려주는 세 자리 숫자이다. 일반적으로 의미하는 상태 코드가 있으며 역시 필요에 따라 확장하여 다른 상태코드를 정의할 수도 있다. 주로 100번대는 특정 정보, 200번대는 성공, 300번대는 리소스의 이동, 400번대는 클라이언트에서의 잘못된 요청, 500번대는 서버에서의 실패를 의미한다.

 

사유구절

사유구절은 각 상태코드를 사람이 이해할 수 있는 언어로 짧게 설명하는 글을 의미한다.

 

헤더

헤더는 메세지에 대한 특정 정보를 담고 있는 데이터로 일반 헤더, 요청 헤더, 응답 헤더, 엔터티 헤더, 확장 헤더가 있다. 헤더는 이름과 값의 쌍으로 구성되어 있다.

 

일반 헤더

일반 헤더는 요청 메세지와 응답 메세지 모두에서 사용할 수 있는 헤더로 일반적인 정보를 나타내는 목적으로 사용된다. 대표적으로 Date는 메세지가 언제 만들어졌는지에 대한 날짜와 시간을 담고 있는 헤더이다.

 

요청 헤더

요청 헤더는 요청 메세지에서만 사용할 수 있는 헤더이다. 대표적으로 Accept는 서버에게 클라이언트가 요청에 대한 응답으로 어떤 타입의 데이터를 받기를 기다리는지를 설명하는 헤더이다.

 

응답 헤더

응답 헤더는 응답 메세지에서만 사용할 수 있는 헤더이다. 대표적으로 Server는 클라이언트에게 서버가 보내고 싶은 서버의 정보를 설명하는 헤더이다.

 

엔터티 헤더

엔터니 헤더는 메세지의 본문에 관한 정보를 보여주는 헤더이다. 요청 메세지와 응답 메세지 모두에서 사용 가능하다. 대표적으로 Content-Type은 본문이 어떤 종류의 객체인지를 설명하는 헤더이고 Content-Length는 본문의 길이를 설명하는 헤더이다.

 

참고자료

https://book.naver.com/bookdb/book_detail.nhn?bid=8509980

 

HTTP 완벽 가이드 - 교보문고

『HTTP 완벽 가이드』는 HTTP 규약이 어떻게 작동하고 웹 기반 애플리케이션을 개발하는 데 어떻게 사용하는지 설명하고, HTTP가 효율적으로 동작하도록 함께 사용하는 다른 핵심 인터넷 기술에 대

www.kyobobook.co.kr

'개발 공부 > HTTP 공부' 카테고리의 다른 글

[HTTP] 커넥션 관리  (0) 2020.06.28
[HTTP] URL과 리소스  (0) 2020.06.22