HTTP请求头和响应头字段

首先请求报文包括请求行、请求头、请求体

请求行:请求方法 路径 HTTP版本

不要混淆

请求头

  • Content-Type : 请求的与响应体对应的MIME信息,就是我从服务器里面想获取什么类型的信息。

​ 如果想获取json :Content-Type:application/json

​ 如果想获取html : Content-Type : text/html

​ 如果想获取jpg : Content-Type:image/jpg

  • Cookie : Cookie

  • Accpet:告诉服务端,客户端接收什么类型的响应

  • Referer:表示这是请求是从哪个URL进来的

  • Cache-Control:对缓存进行控制,如一个请求希望响应的内容在客户端缓存一年,或不被缓可以通过这个报文头设置

  • User-Agent :告诉服务器,客户端使用的操作系统、浏览器版本和名称

缓存相关 :

HTTP1.0

  • If-Modified-Since : 表示如果在…之后服务器的文件被修改了,就执行更新操作(叫服务器重发文件)

    ​ (使用流程:

    ​ ①客户端第一次请求服务器,服务器发来一个响应报文,响应报文包含页面、Last-Modified,并附上一 个时间A;

    ​ ②然后客户端浏览器就会缓存下来这个页面,下一次就不用请求服务器了

    ​ ③但是服务器的页面有时候就会改变,这样,就需要客户端每隔一段时间,看看自己的缓存的页面是否是最新的

    ​ ④这样客户端就发一个请求,里面包含If-Modified-Since,并附上时间A,这样就去看看,自从上次获取

    ​ 页面以来,服务器有没有改变了页面)

    Http1.1

  • if-Match : 表示如果匹配了,就…

    ​ (使用流程:

    ​ ①客户端第一次请求服务器,服务器发来一个响应报文,响应报文包含页面、Etag,

    ​ Etag跟这个页面关联,相当于这个页面的身份证

    ​ ②然后客户端浏览器就会缓存下来这个页面,下一次就不用请求服务器了

    ​ ③但是服务器的页面有时候就会改变,这样,就需要客户端每隔一段时间,看看自己的缓存的页面是否是最新的

    ​ ④这样客户端就发一个请求,里面包含If-Match,并附上刚刚的Etag,这样就去看看,

    ​ 我拥有的Etag和服务器的Etag是否一样,实质就是比较服务器的页面和我浏览器的页面有没有一样,

    ​ 如果Etag不一样,服务器就需要重发页面

    ​ )

  • Range : 用于断点续传。假如服务器支持范围请求的话,你可以使用 Range 首部来生成该类请求。该首部指示服务器应该返回文件的哪一或哪几部分。就是文件太大,每次只传一点点。例子:Range: bytes=0-1023 请求文件的0-1023字节

  • if-Range : 是为了判断在断点续传过程中,服务器页面有没有改变。就是比如 客户端先用Range传了1024个字节,然后关浏览器了,过了一段时间,继续断点续传。但是,服务器的文件可能发生改变了,前面传的那些可能不正确了。这时,就需要服务器把前面的重新传一下。if-Range里面的值也是Etag,和if-Match的比较是一样的。

响应头的字段

Last-Modified:看上面

Expires :表示告诉浏览器,我这段时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值