我的网站上的某些页面(身份验证,付款)必须通过HTTPS提供。
当客户端通过HTTP访问此类页面时,我想将其重定向到HTTPS版本。
目前,我正在使用带有301 Moved Permanently
标头的Location
代码,该标头指向同一网址,并将方案修改为HTTPS。
我想知道:是否有使用错误协议的特定HTTP响应代码?
与HTTP动词的405 Method not allowed
相似的东西。
答案 0 :(得分:2)
不是这样,不 - 301永久重定向在这里是正确的选择。
然而,有HTTP Strict Transport Security(HSTS)这样的东西,它允许你,一旦你告诉浏览器使用301使用301重定向,也告诉它永远不要再在您的网站上使用未加密的HTTP协议。这样做的方法是在HTTPS响应中包含如下所示的标题(重定向中 not ,通过纯HTTP发送):
Strict-Transport-Security: max-age=31536000; includeSubDomains
有关详情,请参阅上面链接的维基百科文章和RFC 6797。
答案 1 :(得分:0)
根据this,403.4似乎是您想要的(在IIS中),但我不相信HTTP标准中存在等价物。
答案 2 :(得分:0)
响应301对于登录页面等似乎是合理的(其中没有需要传输的凭证来加载页面)。否则,当发送个人详细信息时,明智地说找不到(401),因为有人在调皮。检查引用者URL并定期检查日志文件也是明智的。
(人们会复制网站并伪装成你的网站,只是转发流量并在此过程中收集个人详细信息:-()