这几天看看了一些关于优化的问题,这里只是提到一些建议,希望大家有用的到的地方:
首先这些东西大部分都和http协议相关,给个链接http://www.cnpaf.net/class/http/
1.数据压缩(一般是gzip)
2.数据缓存
以上数据包括js,css,图片等信息
具体操作上设置http请求头与响应头,关于实时的问题可以采用版本号解决
部分报头示例(参考http1.1)
请求报头 = 接收(Accept)
|接收Charset (Accept-Charset)
|接收编码(Accept-Encoding)
|接收语言(Accept-Language)
|认证(Authorization)
|期望(Expect)
|源(From)
|主机(Host)
|假如匹配(If-Match)
|假如修改(If-Modified-Since)
|假如不匹(If-None-Match)
|假如归类(If-Range)
|假如不修改(If-Unmodified-Since )
|最大转发量(Max-Forwards
|代理认证( Proxy-Authorization)
|范围(Range)
|提交者(Referer)
|TE
|用户代理(User-Agent)
应答报头 = 接收范围
|生存时间
|Etag
|位置
|代理认证
|等会再试
|服务器
|变化
|WWW认证
这里顺便提一下断点续传,关于断点续传,看来好几种语言写的东东,不过总体感觉都一样,只是实现方式不同而已:
都是设置Range Content-Lenght 等属性来完成的
Range指定文件位置,Content-Lenght 指定长度
原理简单说下:
1.本地创建2个文件,一个是下载文件,另一个是B记录下载信息的(尤其对多线程而言)
2.根据B文件的信息判断设置请求参数