![]() |
1
7
我认为这里确实有两个不同的问题。语言和国家。他们肯定不是一回事。HTTP规范将接受语言请求头字段显式定义为 语言 说明符,而不是国家说明符。 例如:en-us指的是一种特定的语言(大部分在美国使用的英语版本),en-gb指的是另一种语言(大部分在英国使用的英语版本)。这真的与你目前在世界上的位置无关,它只是定义了你在浏览网站时最能接受的语言。那 应该 因为即使是新手用户也应该有他们的语言浏览器,默认情况下,浏览器会发送正确的请求头字段。 但这并不是传统的网站所使用的。像另一张海报一样,我注意到网站将语言等同于国家,并根据国家的独特性调整网站。 政治的 限制/自由/公司在那里提供的产品,不一定用于 语言 . 给出的例子是一家公司,它不在特定国家销售特定产品,而是在其他国家销售。 在为不同国家展示什么产品的情况下,地理定位IP地址比基于语言做出决定要好,但它仍然不完美。如果我暂时在另一个国家,但想订购一些东西,然后把它送回家呢?如果我的IP地址不能反映我的身体状况,那又会怎样呢? 是的,大多数人都能正常工作。但你为什么要让人们很难用他们要求的语言来访问这个网站呢??这只是糟糕的用户界面设计。 |
![]() |
2
2
尽管我理解甚至分享你的沮丧,但有一些正当的理由可以做到。 许多公司都有针对每个特定国家的网站。例如,因为他们不向每个国家销售他们的所有产品,或者因为某个特定国家的法律在他们的网站上规定了某些特定的义务(禁止的一系列产品,添加的法律公告,或捕鲸船,…)。 因此,他们将为您提供适合您所在国家的版本,因为这是最有用的(如果我目前不在Z国,X公司在Z国销售产品Y并不重要)。 |
![]() |
3
1
谷歌很聪明。我想他们做他们所做的是因为
大多数
如果你在越南,你很可能会想要
尽管如此,我认为有一件事他们至少可以礼貌的接受语言标题,是显示某种通知(有点像在这个网站上显示的横幅),说一些像“寻找英语谷歌”?点击这里“如果标题表明他们想要英语-虽然这可能不适用于谷歌(因为他们不这样做),我当然会考虑,如果我是一个多语言网站。 |
![]() |
4
1
我敢打赌,比起生活在一个国家不说/不读母语的人,更多的人使用不正确使用这个HTTP头值的软件。这可以解释谷歌的行为。 |
![]() |
5
1
我分享你的挫折。我对很多网站感到失望。大多数做IP地理定位,但显然不知道浏览器的文化设置。不用说,用户位置是一个不可靠的信息源,说明用户喜欢哪种语言和文化。尤其是在全球化时代,人们和文化高度融合。
现代浏览器积极支持此设置。没有充分的理由不加以考虑。如果请求中不存在头,请执行地理位置,否则请尊重用户区域性设置。 |
![]() |
6
1
我是拉脱维亚人,我更喜欢英语。由于Windows区域设置的原因,firefox默认发送en-us,即发送lv-lv(即使是英文版本)。所以接受头是不可靠的。 我认为最好的办法是同时进行地理定位和接受语言检查, 如果区域和语言匹配=>自动重定向 如果没有匹配项=>尽你最大的猜测,给用户一个选择(也许屏幕右上角是语言切换的最佳位置,因为它或多或少是用户界面标准)+记住cookie中的选择 |
![]() |
7
0
我猜想,在非英语国家,相当大一部分人使用的浏览器接受英语(也许是因为他们使用的是盗版的英语版本,谁知道呢)。 他们中的大多数人,除了在一个英语编程网站上发声的少数人之外,都希望看到自己语言的网站,而普通人并不关心HTTP规范。这将使accept-language头在本质上毫无用处,成为现实世界的一个完美例子!=程序员幻想世界。 |
![]() |
8
0
我同意谷歌行为不端。我怀疑这是结构过度优化的结果。如果您将服务器放在接近用户的位置,并且您的目标是极快的结果,那么最好在每个本地服务器集群之外,以一种语言为搜索结果提供单个缓存。 这意味着,当您的IP进入时,与其说是IP地理位置,不如说是哪个服务器集群首先响应了您的请求。在越南离你最近的那个集群被优化为在越南提供页面服务。 我相信这是可以解决的,但是如果优化的设计使他们很难修复,我不会感到惊讶。 |
![]() |
Julian Koster · $\u发布内容的持续时间(生存期) 6 年前 |
![]() |
chris hyun ho kim · 用于“拆分”记录的HTTP谓词 6 年前 |
![]() |
Ian.V · Golang CSRF在结构中保存模板字段 6 年前 |