美文网首页
《图解http》第八、九章

《图解http》第八、九章

作者: niffler_ | 来源:发表于2018-10-30 19:17 被阅读0次

    第八章 确认访问用户身份的认证
    1.http使用的认证方式
    basic认证:basic认证采用base64编码,但不是加密处理。安全性低。
    digest认证:使用质询/相应的方式,但不会像basic认证那样直接发送明文密码。
    所谓质询响应方式是指,一开始一方会先发送认证要求给另一方,接着使用从另一方那接收到的质询码计算生成响应码。最后将响应码返回给对方进行认证的方式。
    因为发送给对方的只是响应摘要及由质询码产生的计算结果,所以比起BASIC认证,密码泄露的可能性就降低了。
    客户端——1.发送临时的质询码(随机数,nonce)以及告知需要认证的状态码401——2.发送摘要以及由质询码计算出的响应码(response)——3.认证成功返回状态码200,失败则再次发送状态码401
    ssl客户端认证:
    多数情况下,ssl客户端认证不会仅依靠证书完成认证,一般会和基于表单认证(稍后讲解)组合形成一种双因素认证(Two-factorauthentication)来使用。
    。所谓双因素认证就是指,认证过程中不仅需要密码这一个因素,还需要申请认证者提供其他持有信息,从而作为另一个因素,与其组合使用的认证方式。
    基于表单认证:
    基于表单认证本身是通过服务器端的Web应用,将客户端发送过来的用户ID和密码与之前登录过的信息做匹配来进行认证的。


    YD)JHMZW8CRB`OLEZ9%ABIV.png

    步骤1:
    客户端把用户ID
    和密码等登录信息放入报文的实体部分,通常是以POST方法把请求发送给服务器。而这时,会使用HTTPS通信来进行HTML表单画面的显示和用户输入数据的发送。
    步骤2:
    服务器会发放用以识别用户的Session ID。通过验证从客户端发送过来的登录信息进行身份认证,然后把用户的认证状态Session ID绑定后记录在服务器端。
    向客户端返回响应时,会在首部字段Set-Cookie内写入SessionID。
    步骤3:
    客户端接收到从服务器端发来的Session ID后,会将其作为Cookie保存在本地。下次向服务器发送请求时,浏览器会自动发Cookie
    ,所以Session ID也随之发送到服务器。服务器端可通过验证接收到的Session ID识别用户和其认证状态。

    第九章基于http功能追加协议
    1.Google在2010年发布了SPDY(取自SPeeDY,发音同speedy),其开发目标只在解决http的性能瓶颈,缩短web页面的加载时间(50%)。
    2.ajax是一种有效利用JavaScript和dom(document object model文档对象模型)的操作,以达到局部web页面替换加载的异步通信手段。
    而利用Ajax实时地从服务器获取内容,有可能会导致大量请求产生。另外,Ajax仍未解决HTTP协议本身存在的问题。
    comet的解决方法
    一旦服务器端有内容更新了,Comet不会让请求等待,而是直接给客户端返回响应。这是一种通过延迟应答,模拟实现服务器端向客户端推送(Server Push)的功能。
    通常,服务器端接收到请求,在处理完毕后就会立即返回响应,但为了实现推送功能,Comet会先将响应置于挂起状态,当服务器端有内容更新时,再返回该响应。因此,服务器端一旦有更新,就可以立即反馈给客户端。
    内容上虽然可以做到实时更新,但为了保留响应,一次连接的持续时间也变长了。期间,为了维持连接会消耗更多的资源。另外,Comet也仍未解决HTTP协议本身存在的问题。
    3.spdy的设计与功能
    SPDY没有完全改写HTTP协议,而是在TCP/IP的应用层与运输层之SPDY间通过新加会话层的形式运作。同时,考虑到安全性问题,规定通信中使用SSL。

    6KN8JJ`9IZ({07R@3~QB671.png
    使用spdy后,http协议额外获得以下功能。
    多路复用流:
    通过单一tcp连接,可以无限制处理多个http
    请求。
    赋予请求优先级:
    SPDY不仅可以无限制地并发处理请求,还可以给请求逐个分配优先级顺序。这样主要是为了在发送多个请求时,解决因带宽低而导致响应变慢的问题。
    压缩http首部:
    压缩HTTP请求和响应的首部。这样一来,通信产生的数据包数量和发送的字节数就更少了。
    推送功能:
    支持服务器主动向客户端推送数据的功能。这样,服务器可直接发送数据,而不必等待客户端的请求。
    服务器提示功能:
    服务器可以主动提示客户端请求所需的资源。由于在客户端发现资源之前就可以获知资源的存在,因此在资源已缓存等情况下,可以避免发送不必要的请求。
    4.websocket协议
    一旦Web服务器与客户端之间建立起WebSocket协议的通信连接,之后所有的通信都依靠这个专用协议进行。通信过程中可互相发送JSON、XML、HTML或图片等任意格式的数据。
    websocket协议主要特点:
    推送功能
    支持由服务器向客户端推送数据的推送功能。这样,服务器可直接发送数据,而不必等待客户端的请求。
    减少通信量:
    只要建立起WebSocket连接,就希望一直保持连接状态。和HTTP相比,不但每次连接时的总开销减少,而且由于WebSocket的首部信息很小,通信量也相应减少了。
    ![ZAR}]APRKJZNN{JXZ00YS$4.png](https://img.haomeiwen.com/i9284422/4e5f3bcc1a484314.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    相关文章

      网友评论

          本文标题:《图解http》第八、九章

          本文链接:https://www.haomeiwen.com/subject/yfvgtqtx.html