《图解Http》8: 用户身份认证Cookie管理session; 9:HTTP的追加协议(websoket, webDAV)


  •  基本认证,(安全等级低,多数网站不使用)
  • Digest认证:(也不怎么用)
  • SSL客户端认证:(凭借客户端证书认证,如网银登陆)
  • 表单认证:用户名/密码。(常用)

 

 

SSL客户端认证采用two-factor authentication

SSL客户端证书用来认证客户端计算机,然后再用基于表单认证的密码确认是用户本人的行为。

 

8.5表单认证

表单认证没有共同标准规范,每个Web网站上都有不同的表现方式。

原理是通过服务器的Web应用,将客户端发送过来的用户🆔和㊙️与之前登陆过的信息做匹配来进行认证。

 

8.52 Session管理,Cookie应用

一般使用Cookie来管理Session。(用以弥补HTTP协议中不存在的状态管理功能)

博客:https://www.cnblogs.com/chentianwei/p/9495466.html

 



 

9 基于HTTP的功能追加协议

9.2 消除瓶颈的SPDY

Google2010年发布的。

SPeeDY: 解决HTTP性能瓶颈,缩短页面加载时间

9.21 瓶颈

Facebook等网站海量用户发布的内容,为了尽可能的实时显示这些更新,需要服务器上一有更新,就需要直接反馈到客户端解密上。

  • 一条连接只可发送一个请求
  • 请求只能从客户端开始。客户端不可以接收除响应以外的指令
  • 请求/响应的header 未压缩就发送。首部信息越大,延迟就大。
  • 发送冗长的首部,每次互相发相同的首部造成浪费。

Ajax解决方法

异步JavaScript和XML技术:有效利用JavaScript和DOM的操作,以达到局部Web页面替换加载的通信手段。

核心是:XMLHttpRequest的API,通过Js的调用就能和服务器进行HTTP通信。

缺陷:仍未解决HTTP协议本身的问题。

9.22SPDY

在应用层和传输层之间加上会话层。

  • 多路复用流: 单一的TCP连接可以无限制处理多个请求
  • 可以为请求赋予优先级
  • 压缩HTTP header
  • 推送:服务器主动向客户端推送数据。无需客户端请求。

但是当一个web网站上使用多个域名下的资源,改善效果就手段了限制。

 

9.3WebSocket  全双通通信

https://www.cnblogs.com/chentianwei/p/8690304.html

在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

特点:

  • 推送功能:服务器直接发送数据给客户端,无需客户端先发起request。
  • 减少通信量: header信息小。

第一次连接的握手步骤:

  • 握手-请求: header fields中加上 Upgrade: websocket等首部设置。

Sec-WebSocket-key: 一串乱字符, 记录握手过程中必不可少的键值

Sec-WebSocket-Protocol:chat, superchat,  记录使用的子协议

⚠️: Upgrade: websocket和Connection: Upgrade;

  • 握手-响应:对之前的请求返回status code: 101 Switching Protocols,

Sec-WebSocket-Accept: 一串乱字符, 这串字符是握手-请求中的Sec-WebSocket-key生成的。

 

9.4 HTTP2.0

https://ihower.tw/blog/archives/8489

9.5 Web服务管理文件的WebDAV

web-based distributed authoring and versioning

对Web服务器上的内容直接进行文件复制,编辑的全面文件管理操作的分布式文件系统。

作为HTTP1.1的扩展,定义在RFC4918。

 

posted @ 2018-08-18 11:37  Mr-chen  阅读(416)  评论(0编辑  收藏  举报