코딩성장스토리

HTTP 헤더:일반 헤더 본문

웹(HTTP)

HTTP 헤더:일반 헤더

까르르꿍꿍 2022. 1. 13. 17:47

HTTP 헤더

 

HTTP 전송에 필요한 모든 부가정보

 

  • General 헤더: 메시지 전체에 적용되는 정보, 예) Connection: close
  • Request 헤더: 요청 정보, 예) User-Agent: Mozilla/5.0 (Macintosh; ..)
  • Response 헤더: 응답 정보, 예) Server: Apache
  • Entity 헤더: 엔티티 바디 정보, 예) Content-Type: text/html, Content-Length: 3423

 

 

Content-Type: 표현 데이터의 형식

미디어 타입, 문자 인코딩

예)  text/html; charset=utf-8 , application/json , image/png

Content-Encoding: 표현 데이터의 압축 방식

표현 데이터를 압축하기 위해 사용 

데이터를 전달하는 곳에서 압축 후 인코딩 헤더 추가

데이터를 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제

예) gzip , deflate , identity

Content-Language: 표현 데이터의 자연 언어

표현 데이터의 자연 언어를 표현 

예) ko , en , en-US

Content-Length: 표현 데이터의 길이

바이트 단위

 

1.협상(콘텐츠 네고시에이션) 클라이언트가 선호하는 표현 요청 - 협상 헤더는 요청시에만 사용

  • Accept: 클라이언트가 선호하는 미디어 타입 전달 
  • Accept-Charset: 클라이언트가 선호하는 문자 인코딩 
  • Accept-Encoding: 클라이언트가 선호하는 압축 인코딩
  • Accept-Language: 클라이언트가 선호하는 자연 언어 

협상과 우선순위1 

Quality Values(q) 값 사용 

0~1, 클수록 높은 우선순위

생략하면 1

Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7

 

협상과 우선순위2

구체적인 것이 우선한다.

 ex)1. text/plain;format=flowed   

   2. text/plain

   3. text/*

   4. */*

 

협상과 우선순위3

구체적인 것을 기준으로 미디어 타입을 맞춘다. 

Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5

 

2.전송 방식

단순 전송

Content-Length: 3423

압축 전송

Content-Encoding: gzip 

 

분할 전송

Transfer-Encoding

 

범위 전송

Range, Content-Range: bytes 1001-2000 / 2000

 

3.일반 정보

From: 유저 에이전트의 이메일 정보

Referer: 이전 웹 페이지 주소 

User-Agent: 유저 에이전트 애플리케이션 정보

Server: 요청을 처리하는 오리진 서버의 소프트웨어 정보

Date: 메시지가 생성된 날짜

 

4.특별한 정보

Host: 요청한 호스트 정보(도메인) 

Location: 페이지 리다이렉션

Allow: 허용 가능한 HTTP 메서드 

Retry-After: 유저 에이전트가 다음 요청을 하기까지 기다려야 하는 시간

 

5.인증 

Authorization: 클라이언트 인증 정보를 서버에 전달 

WWW-Authenticate: 리소스 접근시 필요한 인증 방법 정의

 

6.쿠키  -http가 무상태 프로토콜이라서 로그인을 해도 유지가 안된다. 그래서 쿠키 저장소에 저장한다음에 서버에 요청할때마다 쿠키에 있는 걸 꺼내서 보낸다.

Set-Cookie: 서버에서 클라이언트로 쿠키 전달(응답) 

Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달

 

 

ex)set-cookie: sessionId=abcde1234; expires=Sat, 26-Dec-2020 00:00:00 GMT; path=/; domain=.google.com; Secure

 

쿠키 - 생명주기

Set-Cookie: expires=Sat, 26-Dec-2020 04:39:21 GMT

만료일이 되면 쿠키 삭제

Set-Cookie: max-age=3600 (3600초)

0이나 음수를 지정하면 쿠키 삭제

세션 쿠키: 만료 날짜를 생략하면 브라우저 종료시 까지만 유지

영속 쿠키: 만료 날짜를 입력하면 해당 날짜까지 유지

쿠키 - 도메인

명시: 명시한 문서 기준 도메인 + 서브 도메인 포함 

domain=example.org를 지정해서 쿠키 생성

생략: 현재 문서 기준 도메인만 적용

example.org 에서 쿠키를 생성하고 domain 지정을 생략

쿠키 - 경로

이 경로를 포함한 하위 경로 페이지만 쿠키 접근

쿠키 - 보안

Secure, HttpOnly, SameSite

'웹(HTTP)' 카테고리의 다른 글

HTTP 헤더-캐쉬와 조건부 요청  (0) 2022.01.18
HTTP 상태코드  (0) 2022.01.12
HTTP 메서드 활용  (0) 2022.01.06
HTTP 기본  (0) 2022.01.05
URL  (0) 2022.01.03