HTTP 1.1协议多语言

时间:2014-09-06 18:52:49

标签: http protocols

我正在使用抓取工具,我想知道该网页是否接受多种语言。 我的要求如下:

GET www.stackoverflow.com HTTP/1.1
Host: www.stackoverflow.com
Accept-Language: en

我如何知道他们是否接受多种语言?在标题? 内容语言只指定一个?

(这是一个示例标题,而不是stackoverflow答案)

HTTP/1.1·200·OK
Date:·Sat,·06·Set·2014·15:52:50·GMT
Server:·Apache/2
Content-Location:·qa-http-and-lang.en.php
Vary:·negotiate,accept-language,Accept-Encoding
TCN:·choice
P3P:·policyref="http://www.w3.org/2001/05/P3P/p3p.xml"
Connection:·close
Transfer-Encoding:·chunked
Content-Type:·text/html; charset=utf-8
Content-Language:·en

1 个答案:

答案 0 :(得分:0)

首先,您不必设置Accept-Language属性。您只需要解析HTTP响应并获取Content-Language。它应该具有内容所针对的所有语言的值。如果未指定内容语言,则默认情况下该内容适用于所有语言受众。这可能意味着发件人不认为它特定于任何自然语言,或者发件人不知道它的用途是什么语言。

因此,如果指定了Content-Language且值超过1,则页面接受多种语言,如果未指定Content-Language,则应决定是否认为它接受多种语言。

参考:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.12

希望有所帮助