HTTP 헤더 - 협상 헤더

현시기얌·2022년 3월 8일
0

HTTP 웹 기본 지식

목록 보기
16/26

협상 (Content Nagotiation)

클라이언트가 선호하는 표현 요청

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

Accept-Language 적용 전

  • 한국어 브라우저로 다중 언어 지원 서버에 접속했을 경우
  • 다중 언어 지언 서버는 default 값이 영어인 상태다.
  • 한국에서 접속한지 모르기 때문에 영어로 응답하게 된다.

Accept-Language 적용 후

  • 클라이언트가 서버로 요청할 때 Accpet-Language:ko 로 설정하면
  • 서버에서 한국어를 지원하면 한국어로 응답해준다.

Accept-Language 한국어를 원하는데 한국어 지원안할 때

또한 default가 독일어일 때 영어로 받고 싶다면?

  • 이런 상황을 방지하기 위해 우선순위가 필요하다.

협상과 우선순위 1

Quality Values(q)

  • 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

협상과 우선수위 2

  • 구체적인 것이 우선하다.
  • Accept : text/, text/plain, text/plain;format=flowed, /*
      1. text/plain;format=flowed
      1. text/plain
      1. text/*
      1. /
profile
현시깁니다

0개의 댓글