读书笔记:《图解HTTP》第八章、第九章
第一章:了解web及网络基础 ;第二章:简单的HTTP协议 >>
第三章:HTTP报文内的HTTP信息;第四章:返回结果的HTTP状态码 >>
第五章:与HTTP协作的web服务器;第六章:HTTP首部(上)>>
第六章:HTTP首部(下);第七章:确保WEB安全的HTTPS >>
第八章 确认访问用户身份的认证
何为认证
1.核对信息
• 密码:只有本人才会知道的字符串信息。
• 动态令牌:仅限本人持有的设备内显示的一次性密码。
• 数字证书:仅限本人(终端)持有的信息。
• 生物认证:指纹和虹膜等本人的生理信息。
• IC 卡等:仅限本人持有的信息。
2. HTTP/1.1 使用的认证方式
▶ BASIC 认证(基本认证)
▶ DIGEST 认证(摘要认证)
▶ SSL 客户端认证
▶ FormBase 认证(基于表单认证)
▶ 等等
BASIC认证
Web 服务器与通信客户端之间进行的。
认证步骤:(1)客户端发送请求Authorization Required;(2)服务器端返回状态码401,带WWW-Authenticate以告知客户端需要进行的认证;(3)客户端将用户ID和密码以Base64方式编码后发送;(4)服务器端接收包含首部字段Authorization,成功200,认证失败返回401
*注意Base64 是编码方式,不是加密处理
问题:不灵活、不安全
DIGEST认证
同样质询/响应的方式(challenge/response),但不像BASIC认证那样直接发送明文密码。
认证步骤:(1)客户端请求;(2)服务器端发送临时质询码(随机数)及认证状态码401;(3)客户端发送摘要及由质询码计算出的响应码;(4)服务器认证,成功200,失败401
SSL客户端认证
需要客户端安装证书
认证步骤:(1)客户端发送认证资源请求;(2)服务器发送Certificate Request报文,要求客户端提供证书。(3)客户端将证书信息以Client Certificate报文方式发送给服务器。(4)服务器验证后领取证书内客户端的公开密钥,开始HTTPS加密通信。
一般,SSL客户端认证由证书+表单认证的方式,采用双因素认证
基于表单认证(多数)
此方式认证的登录信息及认证过程都无标准化方法,一般用Cookie来管理会话(联系前面),保存用户的登录状态。
客户端会向服务器上的 Web 应用程序发送登录信息(Credential),按登录信息的验
证结果认证。
认证步骤:(1)客户端把用户ID和密码放入报文的实体部分,通常用POST方法把请求发送给服务器;(2)服务器在首部字段Set-Cookie内写入Session ID以用于是识别客户;(3)客户端接收Session ID,将其作为Cookie保存在本地。(4)下次想服务器发送请求,Session ID也会发给服务器,浏览器自动发送Cookie
第九章 基于HTTP的功能追加协议
SPDY
产生举例场景:网站上新内容的及时更新,http需要频繁的确认
HTTP问题: (1) 一条连接一个请求
(2)请求只从客户端开始,客户端只接受响应
(3)首部信息未经压缩,首部信息越多延迟越大
(4)首部冗长,每次发送相同首部造成浪费
(5)非强制压缩发送
解决:1. Ajax(Asynchronous JavaScript and XML,异步JavaScript与XML技术):只更新Web局部页面,减少数据传输,但有大量请求产生。
2. Comet:将响应置于挂起的状态,一旦有更新,服务器立刻返回,但是连接时间变长,浪费资源。
3. SPDY:没有完全改写HTTP协议,是在 TCP/IP 的应用层与运输层之间通过新加会话层的形式运作。同时,考虑到安全性问题,SPDY 规定通信中使用 SSL。(会话控制数据流动,HTTP建立通信连接)
图:SPDY的设计
使用SPDY后,HTTP获得额外功能:
• 多路复用流:通过单一的 TCP 连接,可以无限制处理多个HTTP请求。
• 赋予请求优先级
• 压缩 HTTP 首部:减少数据包数量和发送字节数
• 推送功能:服务器主动先客户端推送数据
• 服务器提示功能:主动提示客户端请求所需的数据
*SPDY的确是一种可有效消除HTTP瓶颈的技术,但很多Web网站存在的问题并非仅仅是有HTTP瓶颈导致的
WebSocket
解决HTTP瓶颈的新协议及API,是Web浏览器和Web服务器之间全双工通信标准。
主要特点:(1)一旦建立WebSocket协议的通信连接,之后所有的通信都依靠这个专用协议进行。
(2)无论客户端或者和服务器端都可直接向对方发送报文
(3)推送功能:支持服务器直接发送数据
(4)减少通信量:建立连接,保持连接状态,并且WebSocket首部信息很小
有握手▪请求、握手▪响应
图:WebSocket通信
HTTP/2.0 推进中,改善使用Web速度体验
Web 服务器管理文件的 WebDAV
WebDAV(即基于万维网的分布式创作和版本控制),是一个可对 Web 服务器上的内容直接进行文件复制、编辑、加解锁等操作的分布式文件系统
拓展概念:集合(统一管理多个资源的概念)
资源(文件或集合)
属性(“名称 = 值”的格式)
锁(文件不可编辑的状态)
新增方法与状态码(书182页)
未完待续
- 点赞
- 收藏
- 关注作者
评论(0)