HyperText Transfer Protocol
의 줄임말이다.Application Layer
의 프로토콜이다.무상태성
이 있다.HTTP
는 통신을 주고받는 프로토콜 일 뿐이므로, 클라이언트나 서버의 상태를 저장하지 않는다.클라이언트 - 서버 모델
에서 데이터가 서로간에 교환되는 방식을 이야기한다.HTTP Message
는 두가지 유형이 있으며 각각 요청(Request)
과 응답(Response)
으로 나뉜다.출처 - MDN
HTTP Message
는 비슷한 구조를 가지고 있으며, 구조는 아래와 같다.start line(status line)
status line
이라고 이야기한다.HTTP headers
empty line
body
start line
과 header
를 묶어 요청 및 응답의 head
라고 이야기하며, body
를 payload
라고 이야기한다.payload
: 전송의 근본적인 목적이 되는 데이터, 즉 나에게 필요한 데이터 만을 뜻한다./
는 기본 홈페이지의 주소를 뜻한다.HTTP 메소드
와 요청하는 대상
, HTTP 버전
을 함께 작성한다.HTTP 메소드
를 작성하여 수행할 작업을 전달한다.POST, GET, OPTION, HEAD
등의 메소드와 함께 사용한다.HEAD /test.html?query=alibaba HTTP/1.1
GET
과 주로 사용한다.GET http://developer.mozilla.org/en-US/docs/Web/HTTP/Messages HTTP/1.1
CONNECT
와 함께 사용한다.CONNECT developer.mozilla.org:80 HTTP/1.1
OPTIONS
과 을 사용하며, 서버 전체를 표현**한다.start line
밑부터 empty line
까지의 내용을 이야기한다.Host : localhost:8000
Request Header
, General Header
, Representation Header
로 나뉜다.body
에 담긴 리소스의 정보를 포함한다.POST
나 PUT
처럼 데이터를 업데이트 하는 경우에 body
가 포함된다.GET, HEAD, DELETE, OPTIONS
단일-리소스 본문(single-resource bodies)
과 다중-리소스 본문(multiple-resource bodies)
로 나뉜다.프로토콜의 버전
, 상태코드
, 상대 텍스트
를 포함한다.HTTP/1.1 404 Not Found.
와 같은 형태를 가진다.Response Header
, General Header
, Representation Header
로 나뉜다.body
에 담긴 리소스의 정보를 포함한다.body
가 항상 필요하지는 않다.201
, 204
인 경우 body
가 필요하지 않다.201 Created
, 204 No Content
(만들거나, 리소스가 없을 때)단일-리소스 본문(single-resource bodies)
과 다중-리소스 본문(multiple-resource bodies)
로 나뉜다.