zoukankan      html  css  js  c++  java
  • HTTP协议

    HTTP协议的主要特点:

      简单快速:客户端向服务端请求服务时,只需要传送请求方法和路径。由于http协议简单,使得http服务器的程序规模小,因而通信速度很快

      灵活:http允许传输任意类型的数据对象。以Content-Type标记传输的类型。

      无连接:每次链接只处理一个请求。服务器处理完客户的请求,饼收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

      无状态: 无状态是指协议对于事务处理没有记忆能力。服务器不知道客户端是什么状态。意味着如果后续处理需要前面的信息,则它必须重传。

    HTTP报文的组成部分

      请求报文:请求行 请求头 空行 请求体

      响应报文:状态行 响应头 空行 响应体

    HTTP方法:

      GET:获取资源

      POST:传输资源

      PUT:更新资源

      DELETE :删除资源

      HEAD:获得报文首部

    POST和GET的区别:

      1. GET在浏览器回退时不会重复提交,而POST会再次提交请求

      2. GET请求会被浏览器主动缓存,而POST不会,除非手动设置。

      3. GET请求参数会被完整保留在浏览器历史里,而POST中的参数不会被保留

      4. GET请求在URL中传送的参数是有长度限制的,而POST没有限制

      5. GET参数通过URL传递,POST放在Request body 中。

    HTTP状态码:

      1xx:  指示信息

      2xx:  成功

        200: 客户端请求成功

      3xx:  重定向

        301:所请求的页面已经转移至新的URL

        302: 锁清秋的页面已经临时转移至新的URL

        304:缓存

      4xx: 客户端错误

        403: 访问被禁止

        404: 请求资源不存在

      5xx: 服务器错误

    什么是持久链接:

      HTTP协议采用“请求-应答”模式,当使用普通模式即非Keep-Alive模式时,每个请求/应答客户 和服务器都要新建一个链接,完成之后立即断开链接(http协议为无连接的协议)。

      持久链接是指:当时用Keep-Alive模式(又称持久链接、连接重用)时,客户端到服务端的链接持续有效,当出现对服务器的后续请求时,Keep-Alive功能避免了重新建立链接

    什么是管线化:

      使用持久链接的情况下,某个连接上消息的传递类似于:请求1 -> 响应1 ->请求2 -> 响应2 ->请求3 -> 响应3.

      管线化是指:使用持久链接的情况下,某个连接上消息的传递类似于 请求1 -> 请求2 ->请求3 -> 响应1 ->响应2 -> 响应3.

      管线化特点:

        1. 管线化机制通过持久链接完成,仅 HTTP/1.1 支持此技术

        2. 只有GET 和HEAD请求可以进行管线化,而POST则有所限制

        3. 管线化不会影响响应到来的顺序,如上面的例子,响应返回的顺序并未改变

  • 相关阅读:
    MySql
    Docker
    达观数据
    Python面试题
    用Python构造ARP请求、扫描、欺骗
    git上传简单的命令行分析
    vue2自定义指令的作用
    自定义指令详解 vue
    文档打印 js
    通过Export2Zip实现表格内容下载成为excel文件
  • 原文地址:https://www.cnblogs.com/yangkangkang/p/8709044.html
Copyright © 2011-2022 走看看