협상(콘첸츠 네고시에이션)
클라이언트가 선호하는 표현 요청
Accept : 클라이언트가 선호하는 미디어 타입 전달
Accept-Charset : 클라이언트가 선호하는 문자 인코딩
Accept-Encoding : 클라이언트가 선호하는 압축 인코딩
Accept-Language : 클라이언트가 선호하는 자연 언어
협상 헤더는 요청시에만 사용
한국어 브라우저를 사용한다고 가정하고
외국 이벤트 사이트에 접속한다. (다중언어를 지원하는 서버 언어 / 언어우선순위 1 : 영어)
클라이언트가 서버에 요청할때 Accept-Language : ko 라고 보낸다면
기본언어가 영어라도 한국어를 지원하기 때문에 Content-Language에 ko로 한국어로 응답한다.
복잡한 경우일때이다.
다중 언어 지원 서버지만 기본이 독일어이다. 영어는 어떻게든 읽을 수 있는데 독일어는 전혀 모르기 때문에
영어를 원하는 상황이지만 독일어로 응답한다. 이런 경우를 위해 우선순위라는 것이 필요하다.
협상과 우선순위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(생략)
2. ko;q=0.9
3. en-US;q=0.8
4. en;q=0.7
협상과 우선순위2
Quality Values(q)
- 구체적인 것이 우선이다.
- Accept: text/*, text/plain, text/plain;format=flowed, */*
1. text/plain;format=flowed
2. text/plain
3. text/*
4. */*
협상과 우선순위3
Quality Values(q)
- 구체적인 것을 기준으로 미디어 타입을 맞춘다.
- Accept : text/*q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5
'웹프로그래밍 > 웹 기본 지식' 카테고리의 다른 글
28. 일반 정보 (0) | 2022.01.12 |
---|---|
27. 전송 방식 (0) | 2022.01.12 |
25. 표현 (0) | 2022.01.12 |
24. HTTP 헤더 개요 (0) | 2022.01.12 |
23. 4xx - 클라이언트 오류 / 5xx - 서버 오류 (0) | 2022.01.12 |