복습을 위한

콘텐츠 협상(콘텐츠 네고시에이션) 본문

http헤더

콘텐츠 협상(콘텐츠 네고시에이션)

ho042479 2024. 1. 14. 19:28

협상은 쉽게 말해 클라이언트가 서버에게 원하는 표현을 요청하는 것이다. 자연스럽게 요청시에만 사용한다. 서버는 표현데이터를 만들 때 그걸 참고한다.

 

 

  Accept Language를 살펴보자. 적용 전을 살펴보자

예를 들어 우리가 한국어 브라우저를 사용하는데 외국에 있는 event 페이지에 들어간다. 그 페이지가 기본으로는 영어를 지원하고 한국어도 지원한다고 하자. 하지만 그 서버는 클라이언트쪽이 어떤 언어를 원하는지 모른다. 그럼 기본값인 영어에 관련된 내용으로 한국어 브라우져에 응답을 해준다. 이러면 영어가 나오니 우리는 불편하다.

 

그래서 이런식으로 우리가 선호하는 언어를 서버에게 말해주는거다. 그럼 서버는 기본값이기 영어지만 한국어도 지원하므로 한국어 데이터를 보내준다. 

 

좀 더 복잡한 예시를 보자

 

해당페이지는 독일어와 영어를 지원한다. 우리는 1순위로 한국어를 원했지만 한국어 지원을 안한다. 우리가 그나마 영어를 원하지만 서버 쪽에서는 요청한 한국어 지원을 하지않으므로 기본값인 독일어로 넘겨줄 것이다. 이런경우를 위해서 우선순위라는 것이 필요하다.

 

이런식으로 우선순위를 위해 quality values(q)값을 사용하는것이다.

 

1.한국인들이 쓰는 한국어   

2.공통한국어

3.영어인들이 쓰는 영어

4.공통 영어

이런 식으로 우선순위를 지정할 수 있다.

 

이러면 서버에서는 얘는 독일어보단 영어를 선호하는구나라고 알아차릴 수 있다.

 

 

accept를 지정하려고 할 때 더 구체적으로 명시한 것을 우선으로 한다.

 

 

 

 

 

 

 

 

참고

https://www.inflearn.com/course/lecture?courseSlug=http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC&unitId=61377&tab=curriculum

'http헤더' 카테고리의 다른 글

쿠키  (0) 2024.01.17
특별한 정보, 인증  (1) 2024.01.16
일반 정보  (0) 2024.01.15
전송방식(Transfer-Encoding)  (0) 2024.01.14
http헤더개요, 표현  (0) 2024.01.14