1 Http的特点:
Http是无状态、并发的。
Http可以支持任意类型的数据传输。
Http从1.1开始支持长连接,所谓长连接,即服务器不会轻易关闭一个连接,节省了频繁新建和关闭连接的代价;为TCP的的握手和拥塞控制等稳定性控制争取了时间。
Http一般是客户先通过connection-close关闭上层连接,然后服务器再发FIN处理TCP的三次握手。
2 Http中的断点续传:
Http中断点续传主要依靠RANGE选项控制。搞清楚RANGE选项功能即可。
3 Http缓存处理机制:
一般地,静态内容对缓存的需求比较大。动态缓存要依赖数据库。
3.1 如何判断请求是静态还是动态呢?
在底层,一些服务器的源码是通过判断请求文件的后缀来判断的,一般用ASP、PHP、JSP、ASP.net、Perl、或CGI等编程语言写出来的东西都是动态的,.cgi,.jsp等后缀的文 件基本都是动态的。
从HTTP协议的角度来看,Http请求的选项中,静态请求都会包含Expires和Cache-control选项。
3.2 Expires和Cache-control中的max-age哪个优先级大?
前者是绝对时间,后者是相对时间。后者的优先级大。
3.3 Http缓存过期的处理方法:
在有些情况下,我们无法在cache结点判断缓存是否过期,这个时候,只能与服务器交流。通过比对客户请求中if-no-match与服务器端所记录的的Etags(它是URI的一个 HASH值), 因为Etags是唯一的,只要不一致,说明肯定是过期了。还有一种方法是通过比对请求中的if-modified-since与服务器端记录的last-modified字段来判断是否过 期。如果通过比对发现没过期,服务器返回304,意思是说这个缓存可以用。
原文地址:http://www.cnblogs.com/will-turner/p/3756699.html