HyperText 즉 HTML 이런 문서 간의 링크를 통해서 연결할 수 있는 것으로 전송하는 프로토콜로 시작되었고, 지금은 HTTP 메시지에 모든 것을 넣어서 전송한다.
Hyper Text Transfer Protocol 의 약자로 HTML(하이퍼텍스트) 문서를 교환하기 위해 만들어진 프로토콜(통신 규약) 이다. 지금은 HTTP 메시지에 모든 것을 넣어서 전송한다.
HTML, TEXT
이미지, 음성, 영상, 파일
JSON, XML (API) 등
거의 모든 형태의 데이터 전송 가능하고 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용하는 HTTP 시대이다.
웹상에서 네트워크로 서버끼리 통신을 할 때 어떠한 형식으로 서로 통신을 하자고 규정해 놓은 통신 형식 혹은 통신 구조 이다
HTTP 는 TCP/IP 기반으로 되어있다.
요청과 응답 구조로 되어있다.
HTTP 는 Stateless
이다
서버와 클라이언트 간에 데이터가 교환되는 방식이며 ASCII 로 인코딩된 텍스트 정보이며 여러 줄로 되어있다. 메시지 타입은 두 가지가 있다.
HTTP message 구조 출처 : 코드스테이츠
구조
POST / HTTP 1.1
, HEAD /test.html?query=alibaba HTTP/1.1
등GET http://developer.mozilla.org/en-US/docs/Web/HTTP/Messages HTTP/1.1
CONNECT developer.mozilla.org:80 HTTP/1.1
’*’
) 하나로 간단하게 서버 전체를 나타낸다.OPTIONS * HTTP/1.1
클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송할 수 있도록 해준다
HTTP 헤더의 기본 구조를 따른다.
다양한 요청 헤더가 있는데 다음과 같은 몇몇 그룹으로 나눌 수 있다.
General : 요청과 응답 모두에 적용되지만 바디에서 최종적으로 전송되는 데이터와는 관련이 없는 헤더.
Request : 페치될 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더.
Response : 위치 또는 서버 자체에 대한 정보(이름, 버전 등)와 같이 응답에 대한 부가적인 정보를 갖는 헤더.
Entity : 컨텐츠 길이나 MIME 타입과 같이 엔티티 바디에 대한 자세한 정보를 포함하는 헤더.
클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송할 수 있도록 해준다
HTTP 헤더의 기본 구조를 따른다.
다양한 요청 헤더가 있는데 다음과 같은 몇몇 그룹으로 나눌 수 있다.
General : 요청과 응답 모두에 적용되지만 바디에서 최종적으로 전송되는 데이터와는 관련이 없는 헤더.
Request : 페치될 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더.
Response : 위치 또는 서버 자체에 대한 정보(이름, 버전 등)와 같이 응답에 대한 부가적인 정보를 갖는 헤더.
Entity : 컨텐츠 길이나 MIME 타입과 같이 엔티티 바디에 대한 자세한 정보를 포함하는 헤더.
GET
, HEAD
, DELETE
, OPTIONS
처럼 리소스를 가져오는 요청은 보통 본문이 필요가 없습니다. 일부 요청은 업데이트를 하기 위해 서버에 데이터를 전송합니다. 보통 (HTML 폼 데이터를 포함하는) POST
요청일 경우에 그렇습니다.[Content-Type](https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Content-Type)
와 [Content-Length](https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Content-Length)
)로 정의된 단일 파일로 구성됩니다.