jsp(5)(一)http协议,断点下载

一.应用层http协议:

(1.get,put提交的区别:get,数据会显示在url中并且一般不大于1k。

(2.请求行get方式:

referer:属性用防止盗链(jsp(5)(二)http协议的referer属性防盗链

(3.响应请求:首先是状态行的状态码:

 

 (3.1一些常用状态码信息:

200:OK,302:去请求另一个资源,304/307:去取缓存,403:没有该访问资源的权限,404:服务器没有该资源,500:服务器故障

 (4.响应头信息

(4.1:location:和302状态码配合使用,当向服务器请求时,服务器要浏览器去请求另一个页面,然后浏览器再请求这个属性页面。

sevlet 的doGet方法代码:这是开发中常用的一个操作叫:请求重定向(常用于登陆成功后重定向)

//该例子是服务器要浏览器再去请求day04/1.html

(4.2:server:服务器的类型

(4.3:Content-encoding:响应类型的压缩格式

(4.4:content-lentht:响应数据的长度

下面是servlet中采用压缩方式给浏览器响应内容,浏览器会自动解压。

(4.5:content-language:响应的语言类型

 (4.6:content-type:响应的数据类型 

浏览器会根据此响应信息用特定的方式打开内容(常用的类型在conf/web.xml中存在映射关系)。servlet中具体的实例:

(4.7:last-modified:告诉浏览器当前资源的缓存时间。(用于缓存技术的一个参数)

(4.8:refresh:告诉浏览器间隔多长时间(单位秒)请求。(用于聊天窗口或者实时刷新要求高的情况)

 

要想重复刷新,必须新的请求页也有这个设置。即:多长时间去请求该页面。

(4.9:content-disposition:告诉浏览器下载文件。

(4.10:transfer-encoding:告诉浏览器数据传输格式

 (4.11:Etag:服务器会给每份资源变更时候生成一个标识,

              并且能保证是实时,每次访问通过这个标识,服务器判断是取缓存还是取最新的数据。前面那种通过时间判断的方式时效性没有这么高。

 

(4.12:expires:告诉浏览器将响应的数据缓存多次时间。-1表示不要缓存。

(4.13:cache-control: 以及prama:和上面expires这个都是差不多意思,

  只是因为不同浏览器对应不同属性,如果要让所有浏览器不缓存,将这三个属性都设置不缓存。

 

二.利用range属性实现断点下载文件:

 

 

 

这种方式比较少用:

 

 

 

一个页面尽量少些服务器请求:比如:多个img标签,每个标签都会访问服务器一次获得图片,多个js加载每个js都会请求一次,

 

 

 

 

 

来源:http://study.163.com/course/courseMain.htm?courseId=214022

posted @ 2017-01-23 02:14  假程序猿  阅读(303)  评论(0编辑  收藏  举报