301 Move PermanentlyHTTP协议中的一个状态码(Status Code)。可以简单地理解为该资源已经被永久改变了位置[1],通常会发送HTTP Location重定向到正确的新位置。

返回301状态码进行跳转被Google认为是将网站地址由HTTP迁移到HTTPS的最佳方法。[2]

定义

编辑

根据定义: [3][4][5]

  • 如果一个客户端有链接编辑能力,其应当把所有的引用链接重定向到新的URL上。
  • 这个响应代码是可以被缓存的。[6][7]
  • 除非请求方法是HEAD,否则响应实体应该包含一个小型的超文本,标注一个超链接到新的URL。
  • 如果是除了GET和HEAD之外的请求方法,客户端必须在重定向之前询问用户。

例子

编辑

客户端发出请求:

GET /blog HTTP/1.1
Host: www.example.com

服务器回应,不带Cache-Control头部:

HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/index.asp

服务器回应,带Cache-Control头部:

HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/index.asp
Cache-control: private; max-age=600

客户端实现问题

编辑

当某些HTTP/1.0客户端收到该状态码时,可能会将POST方法改为GET方法,继续向新地址发出请求,这是错误的实现——故而后续标准引入了HTTP 307[8]

搜索引擎优化

编辑

由于该代码表示页面地址发生了较长久的改变,故Bing[9]Google[10]等搜索引擎都推荐使用301重定向,以改变搜索引擎中的实际页面地址。

相關條目

编辑

参考文献

编辑
  1. ^ HTTP/1.1: Status Code Definitions. [2014-06-01]. (原始内容存档于2010-03-16). 
  2. ^ Secure your site with HTTPS. Google 用户中心. Google. [6 February 2016]. (原始内容存档于2017-12-15). 
  3. ^ T., Fielding, Roy; Tim, Berners-Lee,; Henrik, Frystyk,. Hypertext Transfer Protocol -- HTTP/1.0. [2017-07-04]. (原始内容存档于2010-11-30) (英语). 
  4. ^ C., Mogul, Jeffrey; Jim, Gettys,; Tim, Berners-Lee,; Henrik, Frystyk,. Hypertext Transfer Protocol -- HTTP/1.1. IETF. [2017-07-04]. (原始内容存档于2018-06-07) (英语). 
  5. ^ J., Leach, Paul; Tim, Berners-Lee,; C., Mogul, Jeffrey; Larry, Masinter,; T., Fielding, Roy; James, Gettys,. Hypertext Transfer Protocol -- HTTP/1.1. [2017-07-04]. (原始内容存档于2011-03-07) (英语). 
  6. ^ How long do browsers cache HTTP 301s?. StackOverflow. [2016-01-21]. (原始内容存档于2016-01-27). 
  7. ^ Mark, Nottingham,; Roy, Fielding,; Julian, Reschke,. Hypertext Transfer Protocol (HTTP/1.1): Caching. [2017-07-04]. (原始内容存档于2017-07-07) (英语). 
  8. ^ Roy, Fielding,; Julian, Reschke,. Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. [2017-07-04]. (原始内容存档于2017-05-25) (英语). 
  9. ^ How to Use the Site Move Tool. Bing Webmaster Tools. [2017-07-04]. (原始内容存档于2016-03-07). 
  10. ^ Change page URLs with 301 redirects - Search Console Help. Google Help. [2017-07-05]. (原始内容存档于2017-07-24) (英语). 

外部連結

编辑

📚 Artikel Terkait di Wikipedia

Compute Express Link

Express(PCIe)的物理和电气接口构建。CXL包括基于PCIe的块输入/输出协议(CXL.io)以及用于访问系统内存(CXL.cache)和设备内存(CXL.mem)的新缓存一致协议。串行通信和池化能力允许CXL内存克服常见DIMM内存在实现高存储容量时的性能和插槽封装限制。CX

服务器

server)——如Bea公司的WebLogic、JBoss、Sun的GlassFish; 代理服务器(proxy server)——如Squid cache; Active Directory伺服器; 其他,如Minecraft遊戲伺服器等。 伺服器常見的外型有四種:塔式伺服器、機架伺服器(rack)、刀鋒伺服器(blade

Android

Haroon Q. Android Partitions Explained: boot, system, recovery, data, cache & misc. Addictivetips.com. 2011-05-19 [2012-09-15]. (原始内容存档于2012-09-22)

三维集成电路

式,但它尚未被廣泛使用,因此,定義還是有點不固定。 3D 積體電路封裝是指堆疊不同的晶片成為一個單一的封裝以節省空間,被稱為SiP或 Chip Stack MCM, 並未整合進入單一的電路內。晶片與晶片之間的溝通方式則採用off-chip 訊號,彷彿他們被安置(mounted)在一個正常的電路板。相反地,3D

HTTP状态码

要求客户端执行临时重定向(原始描述短语为“Moved Temporarily”)。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。 新的临时性的URI应当在响应的Location域中返回。除非这是一

Strace

4.17开始支持)(如-e trace=/clock_.*)。 指定要被追踪的路径列表(如-P /etc/ld.so.cache)。 指定应该被转储I/O的文件描述符列表(-e read=和-e write=选项)。 计算系统调用执行时间和次数(-T,-c,-C和-w选项

ASP.NET

NET运行时准备授权用户访问资源的时候引发这个事件 PostAuthorizeRequest:获得授权 ResolveRequestCache:获取页面缓存结果,如果存在直接返回结果 PostResolveRequestCache 缓存检查结束 MapRequestHandler:IIS7集成模式才支持

X86記憶體區段

stack); 扩展段寄存器ES用于特定字符串指令(如MOVS或CMPS)。 80386引入了2个额外的段寄存器FS与GS,并无特定的硬件用途。 这些段寄存器除了有16位的可见部分,还有不可见的隐藏部分,称为描述符缓存“descriptor cache”或隐藏寄存器“shadow