http 메세지는 header와 body로 구분할 수 있습니다.
http 헤더는 http 전송에 필요한 부가정보를 담기 위해서 사용합니다.
<field-name> : <field-value>
요청 및 응답 메시지 모두에서 사용 가능한 기본적인 헤더 항목입니다.
Date: Sat, 2 Oct 2018 02:00:12 GMT
Connection: close // http 메시지 직후에 TCP 접속을 끊는다는 걸 알립니다
Connection: Keep-Alive // 현재 TCP 커넥션을 유지합니다.
Cache-Contorl: no-store // 캐시를 저장하지않음
Cache-Contorl: no-cache // 서버에 확인 후 캐시 사용
Cache-Contorl: must-revalidate // 만료된 캐시를 서버에 확인합니다.
Cache-Contorl: public // 공유캐시에 저장합니다.
Cache-Contorl: private // 특정 사용자 환경에서만 저장합니다.
Cache-Contorl: max-age // 캐시 유효기간을 명시합니다
Entity(콘텐츠, 본문, 리소스 등)에 대한 설명 헤더항목 입니다. http 메시지 내 포함된 선택적 개체에 대한 구체적인 미디어 타입 등을 설명하고 이미지, 비디오, 오디오, HTML 문서, 전자메일 등의 개체들을 운반할 수 있습니다.
Content-Type: text/html; charset-latin-1 //해당 개체가 html 텍스트 문서이고, iso-latin-1 문자 인코딩 방식으로 표현되는걸 의미합니다.
Content-Encoding: gzip, deflate // 헤더의 정보로 압축을 해제합니다.
Content-Language: ko
Content-Length
표현데이터의 길이를 지정합니다.(Byte)
Last-Modified
리소스를 마지막으로 갱신한 일시
Transfer-Encoding
chuncked 방식을 주로 사용합니다. 이 방식은 많은 양의 데이터를 분할하여 보내기 때문에 표현 데이터의 길이를 명시해야 하는 Content-Length 헤더와 함께 사용할 수 없습니다.
http 헤더 내 요청 헤더 (Request Header) 항목입니다.
Host
- 요청한 호스트 정보(도메인)를 나타냅니다.
- 하나의 서버가 여러 도메인을 처리해야 할때 호스트 정보를 명시하기 위해 사용됩니다.
User-Agent
클라이언트 소프트웨어(브라우저, OS) 명칭 및 버전 정보를 나타냅니다.
From
클라이언트 사용자 메일 주소를 나태닙니다.
Cookie
서버에 의해 set-cookie로 클라이언트에게 설정된 쿠키정보를 나타냅니다
Referer
- 바로 직전에 머물었던 웹 링크 주소를 나타냅니다.
Refere: A
를 포함해서 요청합니다.Authorization
인증 토큰(JWT/Bearer 토큰)을 서버로 보낼 떄 사용하는 헤더입니다.
Authorization: Basie ~~~~~~
클라이언트가 url로 특정 리소스를 요청하면, 서버는 콘텐츠 협상을 통해 가장 적절한 프레젠테이션을 제공합니다. 예를 들면, 영어권에서는 영어로 된, 한국에서는 한글로된 프레젠테이션을 볼 수 있도록, 적절한 리소스 버전을 골라내는 것도 이에 해당합니다.
Accept
클라이언트가 처리하고자 하는 미디어 리소스 타입
Accept-Charset
클라이언트가 이해할 수 있는 캐릭터 인코딩
Accept-Charset: utf-8, iso-8859-1; q=0.5; *; q=0.1 // 우선순위: utf-8 > iso-8859 > *
Accept-Encoding
수용 가능한(압축을 지원하는) 콘텐츠 인코딩
Accept-Language
클라이언트가 선호하는 언어
Accept-Language: ko, fr; q=0.8, en; q=0.5 // 우선순위: ko> fr> en
http 헤더 내 응답 헤더 항목
Server: Apache/2.2.22(Debian)
Date: Tue, 15 Nov 1994 08:12:31 GMT
Location
웹 브라우저는 3xx 응답 결과에 Location
헤더가 있으면, Location 위치로 리다이렉트합니다.(자동이동)
Allow
허용 가능한 HTTP 메서드
Allow: GET, HEAD, PUT
Retry-After
user-agent가 다음 요청을 하기까지 기다려야 하는 시간
Set-Cookie
서버측에서 클라이언트에게 세션 쿠키정보를 설정(RFC 2965에서 규정)
Expires
리소스가 지정된 일시까지 케시료 유효함을 나타냅니다. 응답 컨텐츠가 언제 만료되는 지를 나타냅니다.
ETage
http 컨텐츠가 바뀌었는지를 검사할 수 있는 테그
Access-Control-Allow-Origin
요청을 보내는 프론트 주소와 받는 백엔드 주소가 다르면 CORS 에러가 발생
Access-Control-Allow-Origin: * //모든 주소에 cors요청을 허용합니다.
https://gmlwjd9405.github.io/2019/01/28/http-header-types.html