• HTTP总结


    参考:

    https://www.cnblogs.com/fuqiang88/p/5956363.html

    https://www.cnblogs.com/zlingh/p/5887143.html

    https://www.cnblogs.com/confach/p/10050437.html

    • HTTP
      • HTTP是非持久的协议
        • 服务端不用维护客户端信息,减少工作量
        • 不用维持tcp连接?
        • 最初的目的是传输html,所以一问一答就足够了
        • 但是有些情况需要保持状态,比如表单,可以通过cookie、session实现
      • HTTP的生命周期通过 Request 来界定,也就是一个 Request 一个 Response。
      • 被动型:其实就是,服务端不能主动联系客户端,只能有客户端发起
      • 1.0
        • 在 HTTP1.0 中,这次HTTP请求就结束了。
      • 1.1
        • 在HTTP1.1中进行了改进,使得有一个keep-alive(好像1.0也有,只是1.1默认开启了),也就是说,在一个HTTP连接中,可以发送多个Request,接收多个Response。但是请记住 Request = Response, 在HTTP中永远是这样,也就是说一个request只能有一个response。而且这个response也是被动的,不能主动发起。
      • 2.0
        • 参考Google的SPDY
        • 二进制
        • 安全性
        • 连接复用等
    • HTML5
      • Html5是指的一系列新的API,或者说新规范,新技术。Http协议本身只有1.0和1.1,而且跟Html本身没有直接关系。通俗来说,可以用HTTP协议传输非Html数据。
    • 为了结局Http 1.0和1.1的问题(不能从协议层面复用tcp连接,导致每次都要握手和慢启动;安全性;)
      • 为了持续、实时性、貌似主动性的交互需求,在Websocket之前还出现过两种:
        • ajax轮训
        • long poll
      • Websocket
        • Websocket是一个持久化的协议
        • Websocket是基于HTTP协议的,或者说借用了HTTP的协议来完成一部分握手
        • Websocket 其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上的一种补充
        • 必须客户端支持
      • SPDY和Http 2.0

    何为被动性呢,其实就是,服务端不能主动联系客户端,只能有客户端发起

    所有的新协议,都要客户端和服务器端都支持

    • Http 2.0
  • 相关阅读:
    M1阶段的开发过程的一些反思
    Alpha版本发布说明
    Alpha版本BUG BASH
    Notes of Daily Scrum Meeting(11.19)
    Notes of Daily Scrum Meeting(11.17)
    Notes of Daily Scrum Meeting(11.15)
    Notes of Daily Scrum Meeting(11.14)
    flask_sqlalchemy介绍
    SQLAlchemy 简单笔记
    Python-3.6 安装pycrypto 2.6
  • 原文地址:https://www.cnblogs.com/wyp1988/p/9946579.html
Copyright © 2020-2023  润新知