하루에 한 문제

HTTP 공통&요청 헤더 본문

카테고리 없음

HTTP 공통&요청 헤더

dkwjdi 2021. 5. 22. 19:39

공통 헤더

요청과 응답에 모두 사용되는 헤더. 이 중에서도 Content 시리즈는 엔티티 헤더라고 불린다.

 

 

Date

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

 

Connection

HTTP/2를 사용하지 않는다면 보통 HTTP/1.1을 사용하는데 Connection은 기본적으로 keep-alive로 되어 있는데 이는 HTTP1.1에 도입된 Persistent 커넥션기능을 지원한다는 뜻이다...HTTP/2에서는 사라져버림

 

Cache-Control

보통 캐싱은 GET 요청에만 사용한다. 가져온다는 의미이기 떄문에 가져온 데이터를 저장해두고 계속 쓰는것이다.

 

우선 아무것도 캐싱하지 않는다면 아래처럼 사용한다

만료된 캐시만 서버에 확인을 받도록 하는 것

 

Content-Lenth

요청과 응답 메세지의 본문 크기를 바이트 단위로 표시해준다. 메시지 크기에 따라 자동으로 생성

 

Content-Type

컨텐츠의 타입(MIME)과 문자열 인코딩(utf-8 등)을 명시할 수 있다.

현재 메세지 내용이 text/html타입이고 문자열은 utf-8 문자열임을 알려준다.

 

Content-Language

사용자 언어를 뜻한다. 요청이나 응답이 무슨 언어인지와는 관련없다. 예를 들어 한국 사람한테 일본어를 가르치는 사이트일 경우, 페이지 언어는 일본어더라도 Content-Language는 ko-Kr일 수 있다.

 

Content-Encoding

컨텐츠 압축방식이다. 응답 컨텐츠를 br. gzip, defalte등의 알고리즘으로 압축해서 보내면, 브라우저가 알아서 해체해서 사용한다.

 

 

요청 헤더

Host

서버의 도메인 네임이 나타나는 부분이다.

Host헤더는 반드시 하나가 존재해야 한다.

 

User-Agent

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

현재 Window 노트북을 통해 크롬에 접속한 상태이다.

이를 이용해 IE를 통해 접속한 사람을 찾아 IE는 지원하지 않으니 크롬으로 접속해주세요! 같은 메세지를 표시할 수도 있다.

 

 

Accpet

Accept는 요청을 보낼 떄 서버에 이런 타입(MIME)의 데이터를 보내줬으면 좋겠다 라고 명시할 때 쓰인다.

 

Accpet : text/html

을 보내면 HTML 형식인 응답을 처리하겠다는 뜻이다

Accept:image/png, image/gif

Accept:text/*

콤마로 여러 타입을 동시에 적거나, *(와일드카드)를 통해 "텍스트이기만 하면 상과없어"라고 적어줄 수도 있따.

 

Accept 시리즈라고 한 이유는 Accept-Encoding, Accept-Charset, Accpet-Language 등도 있기 때문이다.

이는 공통 헤더의 Content 시리즈와 대응된다 Accept로 원하는 형식을 보내면, 서버가 그에 맞춰 보내주면서 응답 헤더의 Content를 알맞게 설정해 줄 것이다.

 

 

Authorization

인증 토큰(JWT등)을 서버로 보낼 때 사용하는 헤더이다.

API 요청 같은 것을 할 때 토큰이 없으면 거절당하기 때문에 이를 사용해서 승인을 받을 수 있따.

Comments