zoukankan      html  css  js  c++  java
  • HTTP 304 Response

    当一个客户端(通常是浏览器)向web服务器发送一个请求,如果web服务器返回304响应,则表示此请求的本地缓存是最新的,可以直接使用。这种方法可以节省带宽,避免重复响应。

    一般来说,可以将一个请求分为两类,二者以请求中包含的request header来区分:

    有条件的请求(Conditional Validation Request) 无条件的请求(Unconditional Request)
    If-Modified-Since
    或者
    If-None-Match

    一般来说If-Modified-Since的值来自于上一次这条请求的Response中的Last-Modified,If-None-Match的值来自于上一次这条请求的Response中的ETag。

    如果是Conditional Request,则服务器去校验这两个header,并以此判断客户端的缓存是否是最新的,如果是,则返回一个HTTP/304 Not Modified header,其中response body为空;如果不是,则返回一个HTTP/200 OK header,并将最新的内容放在response body中。

    所以如果需要很好的利用HTTP 304 Response,首先需要Web服务器,在其响应头中包含合理的值,例如Last-Modified和ETag,然后客户端才能据此发送Conditional Request。

  • 相关阅读:
    Jquery源码分析(一)
    Lazyload 延迟加载效果
    20100128
    Linux共享库(so)动态加载和升级
    shell 数组
    Git常用命令解说
    linux shell 数组建立及使用技巧
    linux下查看用户及用户组的方法
    Zypper 用法
    linux shell 数组的长度计算、修改、循环输出等操作
  • 原文地址:https://www.cnblogs.com/andycnzh/p/3886432.html
Copyright © 2011-2022 走看看