Content-Language
및 의 HTTP 헤더를 보았습니다. Accept-Language
누군가가 이것들의 용도와 차이점을 설명 할 수 있습니까? 나는 다국어 사이트를 가지고 있는데 사용자가 두 사이트를 현재 선택한 언어로 설정해야하는지 궁금합니다.
답변:
Content-Language
, 엔티티 헤더는 청중을 대상으로하는 언어를 설명하는 데 사용되므로 사용자가 선호하는 언어에 따라 구별 할 수 있습니다. 엔티티 헤더는 HTTP 요청과 응답 모두에 사용됩니다. 1
Accept-Language
요청 HTTP 헤더 인, 클라이언트가 이해할 수있는 언어와 선호하는 로케일 변형을 알립니다. 2 선택적인 가중치 또는 '품질'값이있는 여러 언어가있을 수 있습니다. 예를 들면 :
Accept-Language: da, en-GB;q=0.8, en;q=0.7
(기본 가중치는 1이므로)와 같습니다 da;q=1, en-GB;q=0.8, en;q=0.7
.
적절한 번역이 있는지 확인하기 위해 값과 가중치를 구문 분석하고 사용자에게 가장 선호하는 언어 가중치로 번역을 제공해야합니다.
사이트에 특정 언어를 적용하려면 쿠키 설정 값과 같은 대안을 사용자에게 제공하는 것이 좋습니다. 이는 일부 사용자가 언어 수락 기본 설정을 변경하지 않고 특정 언어로 사이트를보기를 원할 수 있기 때문입니다.
Content-Language 는 제공하는 페이지의 언어입니다. Accept-Language 는 선호하는 언어 목록입니다.
Content-Language entity-header 필드는 포함 된 엔티티에 대해 의도 된 대상의 자연어를 설명합니다. 이것은 entity-body 내에서 사용되는 모든 언어와 동일하지 않을 수 있습니다.
Accept-Language 요청 헤더 필드는 요청에 대한 응답으로 선호되는 자연어 집합을 제한합니다.
Content-Language
엔티티 헤더 는 사용자가 사용자의 선호하는 언어에 따라 차별화 할 수있게되도록, 언어 (들)를 설명하는 사용자를 대상으로하기 위해 사용된다.Header type Entity header Forbidden header name no CORS-safelisted response-header yes CORS-safelisted request-header yes
Accept-Language
클라이언트가 이해할 수있는 언어로 요청 HTTP 헤더이 광고를하고있는 로케일 변형이 바람직하다. (언어 란 프로그래밍 언어가 아닌 영어와 같은 자연어를 의미합니다.)Header type Request header Forbidden header name no CORS-safelisted request-header yes