cookie
由于HTTP是无状态的,为了实现能保存连接的状态,就有了cookie技术。
HTTP keep-alive
HTTP的初始版本中,每进行一次通信,都需要新创建一次连接。为了减少重复建立和断开连接的开销,减轻服务器的开销,就有了HTTP keep-alive技术,持久连接的特点是,只要任意一方没有明确提出断开连接,则保持TCP连接状态。
持久连接使得多次请求以管线化(pipelining)方式发送成为可能,然后异步接收响应。
在HTTP/1.1版本中,所有的连接默认都是持久连接。
提升传输效率的方法
- 压缩传输的内容,常用的压缩编码有:gzip, compress, deflate, identity
- 分块传输编码(Chunked Transfer Coding)
- 发送多种数据的集合,MIME(Multipurpose Internet Mail Extensions),允许处理文本、图片、视频等多个不同类型的数据。
- 范围请求(Range Request),可实现断点续传。
- 内容协商机制,常用的字段有:Accept, Accept-Charset, Accept-Encoding, Accept-Language, Content-Language。
HTTP状态码
状态码 | 类别 | 原因短语 |
---|---|---|
1XX | 信息性状态码 | 接收的请求正在处理 |
2XX | 成功状态码 | 请求正常处理完毕 |
3XX | 重定向状态码 | 需要进行附加操作以完成请求 |
4XX | 客户端错误状态码 | 服务器无法处理请求 |
5XX | 服务器错误状态码 | 服务器处理请求出错 |
HTTP代理服务器作用
- 利用缓存技术减少流量
- 特定网络的访问控制
- 获取访问日志
HTTPS
为了提高通信的安全性,出现了HTTPS技术,可简单理解为:HTTP + 双向认证 + 加密 + 完整性校验
HTTPS其实是身披SSL协议的HTTP:
HTTP | HTTPS |
---|---|
HTTP | HTTP |
* | SSL |
TCP | TCP |
IP | IP |
HTTPS交互过程中,先使用公开密钥加密技术进行协商通信加密密钥master secret,然后使用共享密钥加密技术和加密密钥master secret进行数据通信。
注意:HTTPS比HTTP慢2到100倍,所以在包含个人信息等敏感信息时,才使用HTTPS进行通信。
提高HTTP性能的技术
- Ajax
- Comet
- SPDY(SPeeDY),处于HTTP和SSL之间。
- WebSocket,即Web浏览器与Web服务器之间全双工通信标准,服务器可不必等待请求,直接发送数据。
XML
HTML不适合记录数据,XML则可以很好地复用数据。
网友评论