HTTP响应

来源:互联网 发布:按键精灵压枪源码 编辑:程序博客网 时间:2024/05/16 05:59

刚学完HTTP响应,小编就和大家分享一哈我的笔记

响应数据 分为三个部分:状态行、头信息、响应体

  1. 状态行 (分为三个部分: HTTP协议版本、状态码、描述信息)

例如: HTTP/1.1200 OK

100~199 Informational  请求信息不足 ,还需要其他信息才能处理

200~299 Success  请求处理成功

300~399 Redirection 服务器已经处理完毕,客户端还需要进一步动作

400~499 Client Error  客户端错误

500~599 Server Error  服务器端错误

200 请求处理成功 302 客户端进行重定向 304 客户端访问资源没有被修改后,客户端访问本地缓存 404 访问资源不存在 500 服务器内部出错

这里我利用借钱进行辨析理解

200 A 找 B 借钱 B 将钱借个A

302 A 找 B 借钱 B 通知 A 找C 借钱 --- A 找C 借钱

304 A 找 B 借钱 , B对A 说 借过了 --- A 使用 之前从B 借的钱

404  没钱

505 B 不存在了

      2 .响应头

重定向地址 结合 302 一起使用

* 重定向两次请求 两次响应

Server:apache tomcat ----- 服务器类型

Content-Encoding: gzip ---- 设置响应数据压缩格式   ---- 请求 Accept-Encoding

* 如果响应数据经过压缩传输体积更小,性能更好

如何设置tomcat压缩

* 通过设置 tomcat/conf/server.xml 设置响应数据压缩

在下添加compressableMimeType="text/html,text/xml,text/plain"compression="on"

* 清除浏览器缓存,重启tomcat

Content-Length: 80  ----- 响应数据长度

Content-Language: zh-cn  ----- 响应数据语言

Content-Type: text/html;charset=GB2312  ----- 响应数据类型

* 数据类型采用Mime协议规定类型 html文件 ---- text/html、 jpg文件---- image/jpeg

* 在 tomcat/conf/web.xml 中查看文件mime类型

Last-Modified: Tue, 11 Jul 2016 9:23:51 GMT----- 和请求头信息If-Modified-Since一起使用,控制服务器缓存

* ETag: W/"11111-1184876416000"tomcat生成Etag 11111文件大小 1184876416000文件最后修改时间(精确毫秒)

* 客户端下次请求时通过If-None-Match 携带刚刚 Etag信息

 

Refresh: 1;url=http://www.test.org ----- 网页自动跳转

Content-Disposition: attachment;filename=aaa.zip ----- 文件下载时指定文件附件名称

控制该程序在客户端不缓存

Expires: -1

Cache-Control: no-cache 

Pragma: no-cache  

* 对于动态程序,经常修改,禁止浏览器缓存内容

Connection: close/Keep-Alive   ---- 响应后连接是否关闭

Date: Tue, 11 Jul 2016 9:23:51 GMT --- 响应时间

自己感觉比较重要的:302结合Location进行重定向 、在tomcat配置gzip压缩 、tomcat缓存策略 、禁止浏览器缓存

             3.响应体

通常HTML 文件内容 ---- 如果设置响应体进行gzip压缩,看到gzip压缩内容

通过HTTP协议Range头信息 实现断点下载功能

在连接服务器目标资源进行下载过程中,传递Range头信息, 指定下载目标资源部分内容 ---- 实现断点下载功能

 我们可以在web项目下创建infor.txt,然后使用URL类 模拟客户端访问 WebRoot/info.txt 下载文件中内容



0 0
原创粉丝点击