• HTTP确认访问用户身份的认证


    一、何为认证

    为确认 用户 本人是否真的具有访问系统的权限,就需要核对“登录者本人才知道的信息”、“登录者本人才会有的信息”

    1. 密码:只有本人才会知道的字符串信息
    2. 动态令牌:仅限本人持有的设备内显示的一次性密码
    3. 数字证书:仅限本人(终端)持有的信息
    4. 生物认证:指纹和虹膜等本人的生理信息
    5. IC 卡等:仅限本人持有的信息。

    HTTP 使用的认证方式:

    1. BASIC 认证(基本认证)
    2. DIGEST 认证(摘要认证)
    3. SSL 客户端认证
    4. FormBase 认证(基于表单认证)

    基于表单认证的标准规范尚未有定论,一般会使用 Cookie 来管理Session(会话)

    三、基于HTTP的追加功能和协议

    3.1 若想在现有 Web 实现所需的功能,以下这些 HTTP 标准就会成为瓶颈。

    1. 一条连接上只可发送一个请求
    2. 请求只能从客户端开始。客户端不可以接收除响应以外的指令
    3. 请求 / 响应首部未经压缩就发送。首部信息越多延迟越大
    4. 发送冗长的首部。每次互相发送相同的首部造成的浪费较多。
    5. 可任意选择数据压缩格式。非强制压缩发送。
    
    Ajax 的解决方法:
    1. 由于它只更新一部分页面,响应中传输的数据量会因此而减少,这一优点显而易见
    2.而利用 Ajax 实时地从服务器获取内容,有可能会导致大量请求产生。
    3.另外,Ajax 仍未解决 HTTP 协议本身存在的问题
    
    Comet 的解决方法:
    1. 务器端接收到请求,在处理完毕后就会立即返回响应,
    但为了实现推送功能,Comet 会先将响应置于挂起状态,当服务器端有内容更新时,再返回该响应
    
    2. 一次连接的持续时间也变长了。期间,为了维持连接会消耗更多的资源。
    3. 另外,Comet也仍未解决 HTTP 协议本身存在的问题。
    
    
    
    
    

    3.2 使用浏览器进行全双工通信的WebSocket

    利用 Ajax 和 Comet 技术进行通信可以提升 Web 的浏览速度。但问题在于通信若使用 HTTP 协议,就无法彻底解决瓶颈问题。WebSocket网络技术正是为解决这些问题而实现的一套新协议及 API。

    当时筹划将 WebSocket 作为 HTML5 标准的一部分,而现在它却逐渐变成了独立的协议标准。WebSocket 通信协议在 2011 年 12 月 11 日,被 RFC 6455 - The WebSocket Protocol 定为标准

    一旦 Web 服务器与客户端之间建立起 WebSocket 协议的通信连接,之后所有的通信都依靠这个专用协议进行。通信过程中可互相发送JSON、XML、HTML 或图片等任意格式的数据

    由于是建立在 HTTP 基础上的协议,因此连接的发起方仍是客户端,而一旦确立 WebSocket 通信连接,不论服务器还是客户端,任意一方都可直接向对方发送报文

    WebSocket 协议特点
    1. 推送功能
    2. 减少通信量
    
    更多参考https://www.ruanyifeng.com/blog/2017/05/websocket.html
    
    
  • 相关阅读:
    linux安装jdk
    maven工程直接部署在tomcat上
    将maven工程转成dynamic web project
    史上最全最强SpringMVC详细示例实战教程
    06-spring框架—— Spring 与Web
    05-spring框架—— Spring 事务
    04-spring框架—— Spring 集成 MyBatis
    03-spring框架—— AOP 面向切面编程
    01-spring框架——spring概述
    我对于语言只是工具的理解和感悟
  • 原文地址:https://www.cnblogs.com/kgwei520blog/p/13860323.html
Copyright © 2020-2023  润新知