在我的网站上,我有一个下载页面。当用户单击“下载”按钮时,他们会到达“感谢您下载”页面。2秒后,此页面重定向到实际的物理文件。
所以有点像这样:
下载页:http://example.com/download
用户单击“下载”:http://example.com/download/getit
在2秒后,页面重定向到:v2.1.zip
目前,当我重定向到可下载文件时,我使用了HTTP 301代码(永久移动)。不过,我不认为这是正确的代码,按照标准
请求的资源已被分配给,一个新的永久URI,今后对该资源的任何引用都应该使用返回的URI之一。.此响应是可缓存的,除非另有指示。
但是,"download/getit“页面没有被分配一个新的URI,它只是重定向到另一个资源,但是它自己的URI没有改变。另外,响应不应该被缓存,因为当新版本发布时,要下载的文件可能会改变。
那么,在这种情况下,正确的HTTP代码是什么呢?
发布于 2012-01-04 14:04:21
如果返回HTTP代码,页面将立即重定向(),无论您使用301 (永久移动)还是302 (找到)(否则完全适合您的使用)。如果要在2秒后重定向,则需要使用以下其中之一:
Refresh HTTP报头
刷新: 2;url=v2.1.zip发布于 2012-01-04 13:51:18
HTTP 302
这样,您就不会指示资源已经移动,只是可以从另一个位置检索它。
https://stackoverflow.com/questions/8727978
复制相似问题