TL;博士; 使用 cookie 策略
您可以做几件事,其中的选项是
- 使用子域,例如en .example.com/whatever/comes/here
- 在您的 url 路径example.com/en/whatever/comes/here中使用它
- 设置一个获取语言的 cookie
每种方法的缺点分别
#1
这使得添加实际子域更加困难,因为您将语言设置为子域,而从技术上讲,它是具有不同语言的相同内容。
#2
如果您自己这样做,这会使解析 URL 变得更加复杂。您必须考虑设置或未设置的语言(也许然后设置默认语言)。如果您没有设置默认语言,那么您还必须确保所有链接在其路径中都包含该语言(如果这还没有自动发生)。
#3
这样做的缺点是您在客户端保存数据,例如,用户可以清除 cookie,并且首选项或语言设置将消失。
结论
到目前为止,在上述选项中,第三个是最简单的解决方案。根本不会弄乱子域或 URL,只需从 cookie 中读取值并在支持该语言的情况下加载区域设置,否则加载默认区域设置。
到目前为止,这是您重建应用程序部分所需工作量最少的最佳选择。(假设您没有正在使用的框架)
如果您在没有其他信息的情况下将语言数据保存在 cookie 中,那么为此使用 cookie 并没有真正的安全缺陷。这是因为您没有保存敏感数据,因此任何会窃取该 cookie 的人都不会知道除了他们更喜欢用哪种语言查看您的网站 - 这在 99.9999% 的情况下是完全不相关的。
这当然是一个有点偏见的答案,因为这个问题依赖于其他人的经验/意见,但事实已经在上面提到过(非常简短,不完整,但它明白了这一点)。