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。

  • 相关阅读:
    分析 ajax 请求并抓取 “今日头条的街拍图”
    requests + 正则表达式 获取 ‘猫眼电影top100’。
    爬虫基础(暂缓更新)
    Git 操作笔记:分布式版本控制系统
    python补充
    python基础
    8.最佳电影聚类分析
    文本分析 笔记
    7.文档聚类
    5.词项相似度分析
  • 原文地址:https://www.cnblogs.com/andycnzh/p/3886432.html
Copyright © 2011-2022 走看看