Page 94 - HTTP权威指南
P. 94

客户端上有以前请求过的http://www.joes-hardware.
                   com/seasonal/index-fall.html的副本



                                     请求报文
                                      GET /seasonal/index-fall.html HTTP/1.1
                            客户端       Host: www.joes-hardware.com
                                      Accept: *                               未被修改过
                                      If-Modified-Since: Fri, Oct 3 1997 02:16:00 GMT


                                     响应报文
                                      HTTP/1.1 304 Not Modified     www.joes-hardware.com
                                      ...



                            客户端










                   从最后一次请求此文档以来,原始文档未
                   被修改过,所以浏览器显示的是本地副本。


               图 3-15 重定向为使用本地副本的请求

               总之,在对那些包含了重定向状态码的非 HEAD 请求进行响应时,最好要包含一
               个实体,并在实体中包含描述信息和指向(多个)重定向 URL 的链接——参见图
               3-14 的第一个响应报文。表 3-8 列出了已定义的重定向状态码。

               表3-8 重定向状态码与原因短语
                状态码        原因短语                              含  义
                 300    Multiple Choices  客户端请求一个实际指向多个资源的 URL 时会返回这个状态码,比
                                       如服务器上有某个 HTML 文档的英语和法语版本。返回这个代码时
                                       会带有一个选项列表;这样用户就可以选择他希望使用的那一项了。
                                       有多个版本可用时,客户端需要沟通解决,更多与此有关的信息请参
                                       见第 17 章。服务器可以在 Location 首部包含首选 URL

                 301    Moved Permanently  在请求的 URL 已被移除时使用。响应的 Location 首部中应该包含
                                       资源现在所处的 URL




               66   |   第 3 章
   89   90   91   92   93   94   95   96   97   98   99