HTTP Header vs HTTP Body

이제우·2023년 9월 27일
0

HTTP Header

HTTP Header는 본문 및 요청/응답에 관한 정보를 담는다.
제공하는 기능에 대한 요약본이라고 할 수 있다.

General Header

요청 및 응답이 이뤄지는 날짜/시간에 대한 정보가 들어있다.

공통 헤더로써 가장 기본적인 정보를 담고 있다.

Date
HTTP 메세지를 생성한 일시가 담겨있다.

Connection
HTTP 통신이 완료된 이후에 네트워크 접속을 유지할지를 결정하는 헤더
close와 keep-alive 두가지 값이 존재함.
close는 통신이 완료된 후 연결을 끊겠다는 의미
keep-alive는 통신이 완료된 후에도 연결을 유지한다는 의미

Cache-Control

Request/Response Header

웹서버가 웹브라우저에 요청하는 것을 텍스트로 변환한 메세지가 들어있다.

Request Header

Host
요청에 대한 주체를 담는 헤더

User-Agent
클라이언트에 대한 정보를 담고 있다.
브라우저의 버전과 엔진, 운영체제가 담길 수 있음.

Accept
클라이언트가 어떤 타입을 이해할 수 있는지에 대한 정보를 담는 헤더
MIME 타입으로 작성할 수 있고 서버는 이 헤더를 통해 적절하게 응답할 수 있다.

Accept-Header
다국어를 지원하는 서비스일 경우 언어에 따라 도메인을 다르게 사용할 수 있는데, 이 방법을 사용하지 않을 경우 클라이언트가 이해할 수 있는 언어를 해당 헤더에 담아 서버에 보낼 수 있다.

Accept-Encoding
응답받을 데이터의 압축 방식을 지정하는 헤더

Authorization
인증 토큰을 보낼 때 주로 사용하는 헤더

Referer
어느 경로를 통해서 해당 사이트에 들어오게 되었는지에 관한 정보가 있는 헤더

Response Header

Server
기본적인 서버에 관한 정보를 담는 헤더
너무 많은 서버의 정보를 담으면 공격 받을 수 있음

Access-Control-Allow-Origin
해당 Origin(주소)로 부터 오는 요청을 허용한다는 정보를 담는 헤더

access-control-allow-origin: * 형식으로 사용하는데
* 일경우 모든 오리진을 허용

Expires
리소스가 지정된 일시까지 유효하다는 정보를 담는 헤더

Etag
HTTP 컨텐츠가 바뀌었는지 검증하는 헤더
본문이 변하지 않는다면 같은 값을 뱉기 때문에 다른 값을 뱉는지에 따라 컨텐츠가 바뀌었는지 검증할 수 있고 바뀌었다면 캐시를 지우고 새로 내려받음

Entity Header

컨텐츠의 길이 또는 MIME타입의 대한 정보를 담겨있다.

MIME?
Murtipurpose Internet Mail Extensions의 약자로
간단하게 파일변환의 의미를 가지고 있다.

Content-Type
응답하는 컨텐츠가 어떤 유형인지 알려주는 헤더

application/json, text/html, image/jpeg, image/png, video/mp4등

Content-Length
컨텐츠의 길이가 바이트 단위로 나와있다.

Content-Location
컨텐츠의 위치가 나와있다.

Content-Range
컨텐츠의 범위를 알려주는 헤더

1-200/500 일때 총 500byte 중 1byte부터 200byte가 컨텐츠임


HTTP Body

가져올 실제 데이터의 본문/컨텐츠가 들어있다.

전송하는 데이터가 없다면 Body는 비어있다.

보통 Post로 요청 시 Body에 HTML Form 데이터가 들어 있다.

profile
게으른 사람 중에 제일 부지런하게 사는 사람이 꿈

0개의 댓글