(昨天一不小心忘记发了)
继续阅读《图解http》
SSL(Secure Socket Layer,安全套接层)、TLS(Transport Layer Security,安全传输层协议)用来加密HTTP的通信内容
HTTP+SSL=HTTPS
对于客户端和服务器之间的通信加密,先进行公开密钥加密(非对称密钥加密,安全性高但效率低),由服务器将公开密钥证书传输给客户端,客户端验证证书确定服务器即是目标通信服务器之后,使用公开密钥生成pre-maser secret(?)发送给服务器,服务器用私有密钥解密,获得共享密钥,至此SSL连接建立完成,然后进行HTTP通信
HTTPS虽然安全可靠,但是消耗资源也多,并且证书需要额外开销,对于非敏感信息无需使用HTTPS通信
HTTP/1.1认证方式:BASIC认证(基本认证)、DIGEST认证(摘要认证)、SSL客户端认证、FormBase认证(基于表单认证)
BASE认证:401……不灵活,安全性不高
DIGEST认证:相比BASE认证出现了质询码和响应码,相比之下安全性较高,但仍不灵活。它提供防止密码被窃听的保护机制,但不存在防止用户伪装的保护机制
SSL客户端认证:采用双因素认证,通过密码和证书来确定是用户本人操作。但购买客户端证书需要费用。
表单认证:大部分网站都使用表单认证。通过Cookie来管理Session(会话):
客户端发送用户名密码-->服务器认证后发放SeesionId记录在Set-Cookie中,响应请求-->客户端接收响应后将SeesionId记录在Cookie中,下一次请求会同时发送,表明身份和状态。
HTTP瓶颈:
·一条连接上只能发送一个请求。
·请求只能从客户端开始。客户端不可以接受除响应之外的指令。
·请求、响应首部未经压缩就发送。首部信息越多延迟越大。
·发送冗长的首部。每次互相发送相同的首部造成的浪费较多。
·可任意选择数据压缩格式。非强制压缩发送。
基于HTTP的协议:
Ajax(异步Javascript和XML技术):能实现页面的局部更新;
Comet:服务器端接收响应后先将其挂起,服务器端一旦有更新就立即反馈给客户端。
SPDY:以会话层形式加入(要求通信必须使用SSL),获得多路复用流(通过单一TCP连接可以处理多个HTTP请求),赋予请求优先级,压缩HTTP首部,推送功能,服务器提示功能
WebSocket(全双工通信):一次握手
border-radius:(水平半径)左上 右上 右下 左下 / (垂直半径)左上 右上 右下 左下