Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

출처 : https://www.zerocho.com/category/HTTP/post/5b3ba2d0b3dabd001b53b9db

공통 헤더

Date

HTTP 메시지가 만들어진 시각입니다. 자동으로 만들어집니다.

Date: Thu, 12 Jul 2018 03:12:27 GMT

Connection

HTTP/2를 사용하지 않는다면 보통 HTTP/1.1을 사용하게 되는데요.

Connection은 기본적으로 keep-alive로 되어있는데 사실상 아무런 의미도 없습니다. HTTP/2에서는 아예 사라져버렸습니다.

Connection: keep-alive

Cache-Control

일반 헤더 필드는 요청과 응답 내의 캐싱 메커니즘을 위한 디렉티브를 정하기 위해 사용됩니다.

캐싱 디렉티브는 단방향성이며, 이는 요청 내에 주어진 디렉티브가 응답 내에 주어진 디렉티브와 동일하다는 것을 뜻하지는 않는다는 것을 의미합니다.

Cache-control: no-cache

Content-Length

요청과 응답 메시지의 본문 크기를 바이트 단위로 표시해줍니다. 메시지 크기에 따라 자동으로 만들어집니다.

Content-Length: 52

Content-Language

사용자의 언어를 뜻합니다. 요청이나 응답이 무슨 언어인지와는 관련 없습니다.

예를 들어 한국 사람한테 일본어를 가르치는 사이트일 경우, 페이지 언어는 일본어더라도 Content-Language는 ko-KR일 수 있습니다.

Content-Language: de-DE, en-CA

Content-Encoding

Content-Encoding은 컨텐츠 압축된 방식입니다.

응답 컨텐츠를 br, gzip, deflate 등의 알고리즘으로 압축해서 보내면, 브라우저가 알아서 해제해서 사용합니다.

이 외에도 다양한 압축 알고리즘이 존재합니다.

컨텐츠 용량이 줄어들기 때문에 압축을 권장합니다.

요청이나 응답 전송 속도도 빨라지고, 데이터 소모량도 줄어들기 때문에 가능하면 압축해두세요.

Content-Encoding: gzip, deflate

요청 헤더

Host

서버의 도메인 네임이 나타나는 부분입니다(포트 포함). 

Host 헤더는 반드시 하나가 존재해야 합니다

Host: www.zerocho.com

User-Agent

Host보다 더 유명한 헤더는 User-Agent입니다.

현재 사용자가 어떤 클라이언트(운영체제와 브라우저 같은 것)를 이용해 요청을 보냈는지 나옵니다.

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36

Accept

Accept 시리즈를 알아봅시다. Accept 헤더는 요청을 보낼 때 서버에 이런 타입(MIME)의 데이터를 보내줬으면 좋겠다고 명시할 때 사용합니다.

Accept: image/png, image/gif
Accept: text/*
Accept: text/html

Accept-Charset: utf-8
Accept-Language: ko, en-US
Accept-Encoding: br, gzip, deflate

Authorization

Authorization 헤더는 인증 토큰(JWT든, Bearer 토큰이든)을 서버로 보낼 때 사용하는 헤더입니다.

API 요청같은 것을 할 때 토큰이 없으면 거절당하기 때문에 이 때, Authorization을 사용하면 됩니다.

Authorization: Bearer XXXXXXXXXXXXX

Origin

POST같은 요청을 보낼 때, 요청이 어느 주소에서 시작되었는지를 나타냅니다.

여기서 요청을 보낸 주소와 받는 주소가 다르면 CORS 문제가 발생하기도 합니다.

Referer

이 페이지 이전의 페이지 주소가 담겨 있습니다.

이 헤더를 사용하면 어떤 페이지에서 지금 페이지로 들어왔는지 알 수 있기 때문에 애널리틱스같은 데 많이 사용됩니다.

Referer은 오타입니다.

Referrer가 표준어인데 실수로 Referer로 만들었으며, 하위 호환성 때문에 수정하지 못하고 있습니다.

Referer: https://www.zerocho.com/category/JavaScript