HTTP传输协议

      最后更新:2021-11-14 02:28:25 手机定位技术交流文章

      目录

      • 1.简介
      • 2.请求数据格式
      • 3.响应数据格式

      1.简介

      HTTP( Hyper Text Transport Committee) 协议: 定义浏览器和服务器之间数据传输( 请求和回答) 规则的协议 。

      分析浏览器和服务器之间的数据请求和答案 :

      F12 网络 F5 在任何浏览器中更新页面

      随便点一个查看详情

      以下是建议的数据格式(较固定):
      在这里插入图片描述

      HTTP协议特点:

      1. TCP/IPIP为基础的连接和安全高级别协定
        三次握手,四次挥手
      2. 默认端口号:80
      3. 根据请求/答复模式,一个请求等于一个答复。
      4. 无罪协议:每项请求不同于其他请求,不能相互参照数据(没有处理此事的记忆能力)。

        缺陷:数据不能通过多个请求传输,而Java则通过对话技术(Cookie, 会话)解决问题。

        优点:速度快

      历史版本:

      1. 一.0:简单连接;每个请求答复都建立一个新连接,在请求完成后终止。
      2. 一.1:与若干http上的请求有长长的连接,可用来恢复TCP连接。
      3. 一.2: 多重存取,使多个请求能够同时在一个 HTTP/2 连接中发出 -- -- 对信息作出反应。
        HTTP 1.0/1.1/2 协议HTTP 1.0/1.1/2 协议。 0 和 0 之间的差额

      2.请求数据格式

      HTTP要求的数据分为三节:

      1. 请求行:数据请求的初始行。

        请求模式请求 Url 请求协议/版本
        GET——请求方式
        要求的资源路径(url)
        HTTP/1.1是协议版本。

        HTTP 7项请求和2项通常使用的运作模式
        GET:在请求行的 url 之后请求参数;请求的 url 的长度有限制;不够安全
        POST请求机构包括请求参数;请求的URL长度是无限的;并提供相对安全。

      2. 请求标题: 客户浏览器向服务器提供的信息 。
        值格式至关重要 。

        常见的请求头:
        HOST:请求的主机名
        Use-Agent:浏览器版本
        Accept浏览器能够接收的资源类型
        Accept-Language:浏览器首选语言,服务器可从中返回其他语言的页面。
        Accept-Encoding浏览器处理不同类型压缩的能力。
        Referer:请告知服务器我的位置。

      3. 请求空行: 用于从请求主体中分离 POST 请求的头部 。

      4. 请求:POST请求的最后一部分,交存请求参数。

      3.响应数据格式

      1. 回应行:数据回应第一行。
        HTTP/1.1是协议版本。
        反应国家代码是200
        OK——状态码描述

      2. 响应头:第二行开始
        值格式至关重要 。

        常见的响应头:
        Content-Type:该响应内容的类型
        Content-Length:该响应内容的长度
        Content-Encoding:该响应的压缩算法
        Cache-Control:指定客户端如何缓存。

      3. 答复:最后阶段是储存答复数据。

      响应状态码分类:

      分类 说明
      1xx 答复 -- -- 临时身份代码,说明该请求已被接受,告知客户该请求应予继续,如完成,则不予理会。
      2xx - 成功表示收到并正确处理了请求。
      3xx 重定向 -- -- 重定向到别处:允许客户再次提出完成程序的请求。
      4xx 客户端错误 - 处理错误, 客户有责任
      5xx 服务器端出错误 - 服务器要负责的处理错误 。

      响应状态码大全

      常见响应状态码:

      状态码 英文描述 说明
      200 OK 客户端请求成功
      302 Found 重新校准响应指令所要求的资源已被暂时移到位置标题指定的 URL 。 浏览器已被重定向到此页面 。
      304 Not Modified 通知客户客户,请求的资源自您上次获取资源以来没有变化。 您只依靠本地缓存。 不可见重定向 。
      400 Bad Request 客户端请求中的语法问题; 服务器无法解释请求 。
      403 Forbidden 服务器接受请求,但拒绝提供服务,例如缺乏访问权限。
      404 Not Found 请求的资源并不存在,要么是因为输入错误,要么是因为删除了网站资源。
      405 Method Not Allowed 请求中存在一个问题,例如将请求转换为获得,但作为POST使用。
      428 Precondition Required 要通知客户端它想要访问资源,服务器需要有条件的请求,其中必须包括指定的请求信头。
      429 Too Many Requests 太多关于限制客户要求将资源与Retry-After合并使用的请求数量的要求(可以要求多长时间)。
      431 Request Header Fields Too Large 请求过大, 服务器对处理请求犹豫不决, 因为请求的标题字段数量过多, 缩小请求的大小并重新提交请求 。
      500 Internal Server Error 服务器上出现意外错误; 检查日志以验证问题 。
      503 Service Unavailable 服务器尚未准备好处理请求, 因为它尚未配置 。
      511 Network Authentication Required 要获得网络接入,客户必须首先认证。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/13185.html

          热门文章

          文章分类