`

HTTP 304 错误的详细解释

 
阅读更多

HTTP 304 错误的详细解释

Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。

如果客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200 。对于静态文件,例如:CSS、图片,服务器会自动完成 Last Modified 和 If Modified Since 的比较,完成缓存或者更新。但是对于动态页面,就是动态产生的页面,往往没有包含 Last Modified 信息,这样浏览器、网关等都不会做缓存,也就是在每次请求的时候都完成一个 200 的请求。

因此,对于动态页面做缓存加速,首先要在 Response 的 HTTP Header 中增加 Last Modified 定义,其次根据 Request 中的 If Modified Since 和被请求内容的更新时间来返回 200 或者 304 。虽然在返回 304 的时候已经做了一次数据库查询,但是可以避免接下来更多的数据库查询,并且没有返回页面内容而只是一个 HTTP Header,从而大大的降低带宽的消耗,对于用户的感觉也是提高。

当这些缓存有效的时候,通过 HttpWatch 查看一个请求会得到这样的结果:
第一次访问 200
鼠标点击二次访问 (Cache)
按F5刷新 304
按Ctrl+F5强制刷新 200

如果是这样的就说明缓存真正有效了。以上就是我对 HTTP 304 的一个理解。

 

转:http://hi.baidu.com/netfate/item/bcb394ff3dbb76763c198b79

分享到:
评论

相关推荐

    HTTP Error Code.zip_HTTP_HTTP错误代码详细介绍

    "HTTP错误代码详细介绍.txt"这个文件很可能包含了所有常见的HTTP错误代码及其详细解释,包括但不限于上述列举的代码。对于开发者来说,理解这些错误代码的含义至关重要,因为它们可以帮助定位和解决问题,确保Web...

    http错误代码集合

    以下是对HTTP常见错误代码的详细解读,希望能为读者提供一份全面且实用的参考资料。 #### 2xx 成功响应 **200 OK** 表示请求已成功被服务器处理。这是最常见的HTTP状态码之一,通常用于指示一个GET或POST请求被...

    301、404、200、304等HTTP状态意思

    下面,我们将详细解释标题和描述中提到的几个主要的HTTP状态码:301、404、200和304。 1. HTTP状态码200: "200 OK"是最常见的状态码,表示服务器成功处理了客户端的请求,并且返回了请求的数据。这通常意味着用户...

    http错误(常用错误解释和处理)

    ### HTTP错误(常用错误解释和处理) HTTP协议作为互联网数据通信的基础之一,其错误代码对于开发者、运维人员以及网络管理员来说至关重要。本文将详细介绍一系列常见的HTTP状态码,并提供相应的处理建议,帮助读者...

    sina微博错误代码

    ### sina微博错误代码详解 在使用Sina微博API进行开发时,可能会遇到各种错误代码,这些代码对于开发者来说是...理解并能够解读这些错误信息,可以帮助我们快速定位问题所在,从而提高API调用的成功率和应用的稳定性。

    HTTP 错误信息提示

    ### HTTP 错误信息提示详解 HTTP(HyperText Transfer ...以上就是关于HTTP错误信息提示的详细解释,这些错误信息对于排查网络通信中的问题非常有帮助。在实际开发和运维过程中,正确理解和处理这些错误码至关重要。

    DB2错误信息中文对照说明

    DB2 错误信息中文对照说明...以上仅是部分错误代码的解释,实际上DB2错误信息对照文档包含了更多详细信息,可以帮助用户快速定位和解决问题。在遇到DB2错误时,参照这份文档可以大大缩短故障排查的时间,提高工作效率。

    db2错误码大全

    本文将详细介绍DB2中一系列常见错误码的具体含义及处理方法,帮助DBA和开发人员更好地理解和解决实际工作中遇到的问题。 #### 二、错误码分类 根据DB2提供的错误信息,我们可以将这些错误码分为几大类: 1. **...

    网页错误代码200,300,400,500

    今天,我们将对常见的网页错误代码进行详细的解释,包括 200、300、400 和 500 系列错误代码。 200 系列错误代码:Successful Client Requests * 200 OK——成功:表示服务器成功地响应了客户端的请求。 * 201 ...

    sql错误码对照表

    通过对错误码的详细解读,可以帮助开发者快速定位并解决问题。 #### 二、错误码分类及含义 **1. SQL语句成功完成** - **错误码**: `000` - **SQLState**: `00000` - **说明**: 表示SQL语句已成功执行完毕,没有...

    DB2错误码大全

    本文将对部分DB2错误码进行详细解析,以便于开发者在遇到问题时能够迅速找到解决方向。 #### 错误码概览 DB2错误码通常由一个五位数字(SQLCODE)和一个五字符的字符串(SQLSTATE)组成,其中SQLCODE为正数时表示...

    UM_BPS_304i_en_50126567.pdf

    文档的内容涉及了BPS304i条码定位系统的详细操作指导,从以下几个方面: 1. 关于文档:说明了文档的结构,符号和信号词的使用。 2. 安全:强调了设备的预期用途、可能的误用、合格人员的定义、责任豁免以及激光...

    HTTP理论的详细解释,以及常见HTTP状态码及其含义.docx

    - **304 Not Modified**:资源未被修改,客户端可以使用缓存的版本。 - **4xx(客户端错误状态码)** - **400 Bad Request**:请求语法错误,无法理解。 - **401 Unauthorized**:请求需要用户认证。 - **403 ...

    http错误代码含义这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。

    以下是对各类HTTP错误代码的详细解释: 1xx - 信息提示:这是临时响应,表明服务器已经接收到部分请求,客户端需要继续处理。例如,100 "继续" 表示服务器接收了初始请求,客户端可以发送剩余部分;101 "切换协议" ...

    DB2 SQLSTATE 错误码对照表.doc

    以下是对DB2 SQLSTATE错误码的详细解释: 1. **Class Code 00: 无条件成功完成** - SQLSTATE值00000表示操作成功完成,没有产生任何警告或异常情况。SQLCODE值为+000。 2. **Class Code 01: 警告** - SQLSTATE值...

    Tomcat常见的错误代码

    本文将详细介绍Tomcat中常见的错误代码,帮助开发者快速定位问题并解决问题。 #### 二、HTTP状态码及解释 HTTP状态码是Web服务器与客户端通信的一种标准方式,用于告知客户端请求的结果。了解这些状态码对于诊断...

    http代码的描述解释

    ### HTTP状态码详解 HTTP(超文本传输协议)是用于从...以上就是对HTTP状态码的详细解读,这些状态码对于调试网络应用程序、理解服务器响应等场景非常重要。熟悉并掌握它们有助于更好地开发和维护基于HTTP的应用程序。

    DB2 错误信息汇总

    DB2的错误信息通常由`sqlcode`和`sqlstate`组成,这两部分提供了关于错误性质和严重性的详细信息。 `sqlcode`是一个三位数字,它指示了错误的类型。正数的`sqlcode`表示警告,负数表示错误。例如,`00000`表示SQL...

Global site tag (gtag.js) - Google Analytics