Web

HTTP 헤더

Choi G.H 2022. 7. 6. 15:52
반응형

HTTP 헤더란? 

 

클라이언트, 서버가 http 전송(요청, 응답)하는데 필요한 모든 부가정보를 담는다.

 

표현: http를 통해 보낼 실제 데이터

표현 헤더: 표현 데이터를 해석할 정보를 제공하는 데이터

 

Representation(표현) = Representation Metadata(표현 메타데이터) + Representation Data(표현 데이터)

 

 

표현 헤더의 종류

 

  • Content-type: 표현 데이터 형식
  • Content-Encoding: 표현 데이터 압축 방식
  • Content-Language: 표현 데이터의 자연 언어
  • Content-Length: 표현 데이터 길이

...

Content Negotiation
HTTP
에서, 컨텐츠 협상이란 동일한 URI에서 리소스의 서로 다른 버전을 서브하기 위해 사용되는 메커니즘으로, 사용자 에이전트가 사용자에게 제일 잘 맞는 것이 무엇인지(예를 들어, 문서의 언어, 이미지 포맷 혹은 컨텐츠 인코딩에 있어 어떤 것이 적절한지)를 명시할 수 있습니다.

 

협상과 우선순위

 

1. Quality Value(q)

2. 구체적인 것이 우선

    

• Accept: text/*, text/plain, text/plain;format=flowed, */*



1. text/plain;format=flowed

2. text/plain

3. text/*

4. */*

 

전송 방식

  • 단순 전송
  • 압축 전송: gzip 등으로 압축해 전송
  • 분할 전송: chunk(덩어리) 단위로 전송
  • 범위 전송: 지정된 byte 범위 전송

 

일반 정보

 

  • Form: 유저 에이전트의 이메일
  • Referer: 이전 웹페이지 주소 - 유입 경로 분석에 쓰임
  • User-Agent: 클라이언트의 애플리케이션 정보
  • Server: 요청 처리 Origin 서버 정보
  • Date: 메시지의 발생 시간, 날짜

 

 

특별한 정보

    • Host: 요청한 호스트 정보

  • Location: 페이지 redirection
    >> 3XX 응답 결과에 Location 헤더가 있으면, 자동으로 이동한다.
  • Allow: 허용 가능한 http 메서드
    >> 405(Method Not Allowed)에서 포함함.
  • Retry-After: 유저 에이전트가 다음 요청을 허가할때까지 기다려야 하는 시간
    >> 서비스가 언제까지 사용불가인지 알려준다.

 

쿠키

http는 stateless 프로토콜이라서 사용자의 로그인 이후 사용자를 기억하지 못한다.
» 모든 요청에 사용자 정보를 포함하면? 보안에 문제, 브라우저 재시작 시 정보는 사라진다.

 

  • set-cookie: 서버→클라이언트 쿠키 전달
  • Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, http 요청시 서버로 전달

 

로그인 이후 페이지 접근 시 쿠키의 사용

 

이후 다른 페이지의 모든 요청에 쿠키가 자동으로 포함된다. 

 

 

반응형