http 条件请求

http的条件请求

if-modified-since/if-unmodified-since/if-none-match/if-match/if-range

    • if-modified-since

      是标准的HTTP请求头标签,在发送HTTP请求时,把浏览器端缓存页面的最后修改时间(last-modified)一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。

      如果时间一致,那么返回HTTP状态码304(不返回文件内容),客户端接到之后,就直接把本地缓存文件显示到浏览器中。

      如果时间不一致,就返回HTTP状态码200和新的文件内容,客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示到浏览器中。

    • if-unmodified-since

      在发送HTTP请求时,把浏览器端缓存页面的最后修改时间(last-modified)一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。

      如果时间一致,就返回HTTP状态码200,开始传送文件

      如果时间一致,则返回412 Precondition failed (预处理错误)

    • if-none-match

      在发送HTTP请求时,服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变

      如果Etag相同,则返回304

      如果Etag不同,响应200,返回请求文件

    • if-match

      在发送HTTP请求时,服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变

      如果Etag相同,则响应200,返回请求文件

      如果Etag不同,那么需要返回 416 (Range Not Satisfiable,范围请求无法满足)

    • if-range

      断点续传,如果响应的数据未改变,服务器发送客户端丢失的部分,否则发送整个数据。

时间: 2024-10-17 02:36:42

http 条件请求的相关文章

ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求

通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddleware处理请求的逻辑,大部分读者都应该想得到:它根据请求的地址找到目标文件的路径,然后利用注册的ContentTypeProvider根据路径解析出与文件内容相匹配的媒体类型,默认情况下得到的媒体类型是根据目标文件的扩展名解析出来的.解析出来的媒体类型将作为响应报头Content-Type的值.St

StaticFileMiddleware中间件如何处理针对文件请求

StaticFileMiddleware中间件如何处理针对文件请求 我们通过<以Web的形式发布静态文件>和<条件请求与区间请求>中的实例演示,以及上面针对条件请求和区间请求的介绍,从提供的功能和特性的角度对这个名为StaticFileMiddleware的中间进行了全面的介绍,接下来我们将更近一步,将从实现原理的角度来进一步认识这个中间件. [本文已经同步到<ASP.NET Core框架揭秘>之中] 目录 一.StaticFileMiddleware二.Content

HTTP请求报文和响应报文

HTTP报文分为请求报文(request message)与响应报文(response message). 一.报文的组成部分 一个HTTP报文由3部分组成,分别是: (1).起始行(start line) (2).首部(header) (3).主体(body) 示例: HTTP/1.0 200 OK //起始行 Content-type:text/plain //首部 Content-length:19 //首部 Hi I'm a message! 主体 1.1 请求报文与响应报文的格式 请求

转 一次完整地http请求

作者:斯巴达克斯 时间:January 11, 2014 分类:WEB 声明:本文章中的说法仅是个人理解总结,不一定完全正确,但是可以有助于理解. 关于HTTP协议可以参考以下: HTTP协议漫谈 http://kb.cnblogs.com/page/140611/ HTTP协议概览 http://www.cnblogs.com/vamei/archive/2013/05/11/3069788.html 了解HTTP Headers的方方面面 http://kb.cnblogs.com/page

ASP.NET Core应用针对静态文件请求的处理[5]: DefaultFilesMiddleware中间件如何显示默认页面

DefaultFilesMiddleware中间件的目的在于将目标目录下的默认文件作为响应内容.我们知道,如果直接请求的就是这个默认文件,那么前面介绍的StaticFileMiddleware中间件会将这个文件响应给客户端.如果我们能够将针对目录的请求重定向到这个默认文件上,一切就迎刃而解了.实际上DefaultFilesMiddleware中间件的实现逻辑很简单,它采用URL重写的形式修改了当前请求的地址,即将针对目录的URL修改成针对默认文件的URL.[本文已经同步到<ASP.NET Cor

一次完整的浏览器请求流程

当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢?整个流程如下: 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js.css.图片等) --> 浏览器对页面进行渲染呈现给用户 以下就是上面过程的一一分析,我们就以Chrome浏览器为例: 域名解析 首先Chrom

http协议(八)请求首部字段

公司服务器挂了,间歇性没活儿,抽空更下最近整理的笔记...... 请求首部字段 定义:请求首部字段是从客户端到服务器发送请求报文中所使用的字段,里面包含了附加信息.客户端信息以及对响应内容相关的优先级等内容 1.Accept 通知服务器用户代理可处理的媒体类型及媒体类型的相对优先级,可使用type/subtype这种形式,一次指定多种媒体类型 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 q表示权重

web请求过程

1 B/S网络架构概述 当一个用户在浏览器输入URL:www.google.com时,将会发生如下操作: 1.浏览器请求DNS把域名解析成对应的IP地址: 2.根据IP地址在互联网上找到对应的服务器,建立Socket连接,向这个服务器发起一个HTTP Get请求: 3.负载均衡设备平均分配所有用户的请求给具体的某台服务器: 4.还有请求的数据是存储在分布式缓存里还是一个静态文件中,或是在数据库里: 5.当数据返回浏览器时,浏览器向CDN发起另外的HTTP请求获取静态资源(如:css,js或者图片

一次完整的浏览器请求流程(转)

一次完整的浏览器请求流程 当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢?整个流程如下: 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js.css.图片等) --> 浏览器对页面进行渲染呈现给用户 以下就是上面过程的一一分析,我们就以Chrome浏览器为例: