为什么URL缩短服务使用HTTP状态代码301发送响应并缓存不允许浏览器缓存的标头?

时间:2017-12-12 10:30:58

标签: http url-shortener

为什么像goo.gl和bit.ly这样的网址缩短服务会使用HTTP状态代码301发送网址解析响应,并缓存不允许浏览器实际缓存的标头?因此,即使网址与先前解决的网址相同,它也必须转到缩短服务?在我看来,301响应(永久重定向)意味着缓存。如果不是永远,至少在几分钟内。

来自bit.ly的响应中的相关HTTP标头

  HTTP/1.1 301 Moved Permanently
  Cache-Control: private, max-age=90

来自goo.gl的回复中的相关HTTP标头

  HTTP/1.1 301 Moved Permanently
  Cache-Control: no-cache, no-store, max-age=0, must-revalidate
  Pragma: no-cache
  Expires: Mon, 01 Jan 1990 00:00:00 GMT

1 个答案:

答案 0 :(得分:0)

正如@deceze指出的,禁用/限制缓存的原因是为了跟踪/分析,但是使用永久重定向(301)与临时重定向(302/307)的原因是为了确保“链接果汁”或SEO值的链接不会受到损害。这样,您可以在任何地方自由使用缩短的链接,而不必担心链接质量下降,并保持该页面在网站上的搜索引擎排名。