본문 바로가기
HTTP 웹 기본 지식

HTTP 헤더1 - 일반 헤더[콘텐츠 협상]

by danny-j 2023. 1. 26.

협상(콘텐츠 네고시에이션) - 클라이언트가 선호하는 표현 요청

  • Accept: 클라이언트가 선호하는 미디어 타입 전달
  • Accept-Charset: 클라이언트가 선호하는 문자 인코딩
  • Accept-Encoding: 클라이언트가 선호하는 압축 인코딩
  • Accept-Language: 클라이언트가 선호하는 자연 언어
  • 협상 헤더는 요청시에만 사용

 

Accept-Language 적용 전

  • 한국어 브라우저를 사용하는 클라이언트가 다중 언어 지원 서버에 요청을 할 때
  • 헤더에 아무 정보를 넣지 않으면 기본값인 영어로 응답이 옴

 

Accept-Language 적용 후

  • Accept-Language에 한국어로 요청하고 서버에서 응답을 한국어로 받음

 

Quality Values(q) - 협상과 우선순위1

  1. 한국어를 가장 선호하지만 한국어는 없고 독일어, 영어를 지원하는 상황
  2. 기본값이 독일어이지만, 독일어보단 영어를 원할 때
  3. 우선 순위를 통해 한국어를 지원하지 않는다면 영어를 요청
  • Quality Values(q) 값 사용
  • 0~1, 클수록 높은 우선순위
  • 생략하면 1
  • Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
    • 1. ko-KR;q=1 (q생략)
    • 2. ko;q=0.9
    • 3. en-US;q=0.8
    • 4. en:q=0.7

 

Quality Values(q) - 협상과 우선순위2

  • 구체적인 것이 우선한다.
  • Accept: text/*text/plaintext/plain;format=flowed*/*
    • 1. text/plain;format=flowed
    • 2. text/plain
    • 3. text/*
    • 4. */*

 

Quality Values(q) - 협상과 우선순위3

https://www.rfc-editor.org/rfc/rfc7231#section-5.3.2

  • 구체적인 것을 기준으로 미디어 타입을 맞춘다.
  • Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1,
 text/html;level=2;q=0.4, */*;q=0.5

 

 

 

 

 

이미지 출처 - https://www.inflearn.com/course/http-웹-네트워크

댓글