HTTP-HTTP协议结构和通讯原理(二)

      最后更新:2022-05-12 10:04:24 手机定位技术交流文章

      HTTP-HTTP议定书的结构和通信概念(二)

      目录

          • HTTP-HTTP议定书的结构和通信概念(二)
            • 一. HTTP协定的特点
              • 一. 服务/服务器模式(C/S)支持
              • 2.简单快速
              • 3.灵活
              • 4.无连接
              • 5.无状态
            • 二、HTTP报告的结构分析
              • 1.请求报文
              • 2.HTTP报文头
                • 2.1 通用报文头
                • 2.2 请求报文头
                • 2.3 响应报文头
                • 2.4 实体报文头
              • 3.响应报文
            • 三. HTTP请求机制概况
              • 1.GET请求
              • 2.POST方法
              • 3.PUT
              • 4.HEAD
              • 5.DELETE
              • 6.OPTIONS
              • 7.CONNECT
            • 四、响应状态码
              • 1. 2XX
              • 2. 3XX
              • 3. 4XX
              • 4. 5XX
            • 会话和 Cookie
              • 1.Cookie
              • 2.Session
              • 三. 如何保存会话日志
              • 四,Cookie和届会之间的区别。

      一. HTTP协定的特点

      一. 服务/服务器模式(C/S)支持

      客户/服务器模式的运作方式是向服务器发送客户请求,服务器回答并执行相关服务。

      2.简单快速
      • 当客户要求服务器提供服务时,只需发送请求的方法和路线。
      • GET、HEAD和POST是最常用的查询方法,每种方法都表明客户与服务器之间的某种通信形式。
      • 由于通信速度快,HTTP服务器程序由于HTTP协议的简单性而微小。
      3.灵活
      • HTTP允许转让任何种类的数据项目。
      • Fontent-Type 表示进行中的转让类型。
      4.无连接
      • 每个连接只允许一次请求。
      • 当服务器已处理客户的请求并收到客户的回答( 短连接), 断开 。
      • 这样可以节省传输时间
      5.无状态
      • 就协议而言,缺乏地位意味着如果后续行动需要事先资料,必须重新发送,从而有可能增加每个连接传送的数据量。
      • 当服务器不需要之前的信息时, 它会更快地响应 。

      二、HTTP报告的结构分析

      1.请求报文

      请求书由请求行、请求信头和请求机构组成,具体如下:
      在这里插入图片描述

      2.HTTP报文头

      HTTP信头分为四类:一般信头、请求信头、响应信头和实体信头。

      2.1 通用报文头
      首部字段名 说明
      Cache-Control 控制缓存的行为
      Connection 在最上面,有连接管理。
      Date 创建报文的日期时间
      Pragma 报文指令
      Trailer 报文末端的首部一览
      Transfer-Encoding 指定信件主题的传输编码。
      Upgrade 升级为其他协议
      Via 关于代理服务器的详情
      Warning 错误通知
      2.2 请求报文头
      首部字段名 说明
      Accept 用户代理处理的媒体类型
      Accept-Charset 优先的字符集
      Accept-Encoding 优先的内容编码
      Accept-Language 优先的语言
      Authorization Web认证信息
      Host 请求资源所在服务器
      Range 实体的字节范围请求
      User-Agent HTTP 客户端的详情
      2.3 响应报文头
      首部字段名 说明
      Accept-Ranges 允许请求字字节范围
      Age 资源是什么时候创造的?
      Location 重定向的URL
      2.4 实体报文头
      首部字段名 说明
      Allow 以资源为基础的HTTP方法
      Content-Encoding 实体议题的编码方法
      Content-Language 实体主体的自然语言
      Content-Length 实体的体体大小(单位单位数)
      Content-Location URI 替代等同资源
      Content-Range 实体主体的位置范围
      Expires 实体机构任期届满日期
      3.响应报文

      答复报告由三部分组成:响应线、响应信头和响应者,如下所示:
      在这里插入图片描述

      三. HTTP请求机制概况

      1.GET请求
      • GET技术用于寻求获得联合资源倡议确定的资源。
      • 当服务器被处理时, 给定的资源返回内容 。
      • 传递的数据将紧接在 URL 之后放置, URL 的长度有限, 因此通过 GET 方法传输的数据将限制在 URL 之后的大小提供的数据, 而 URL 的长度则有限, 因此通过 GET 方法传输的数据将限制其大小 。
      • 当您使用“获取”请求数据时,它将使用快速传输。
      2.POST方法
      • POST 方法与 GET 函数相似,因为它用于发送实体对象 。
      • POST方法的首要目的不是获取响应者的内容。
      • 使用 POST 方法发送的数据为运输编码。
      • POST 方法数据提交,无尺寸限制
      3.PUT
      • 使用客户端发送到服务器的数据更改给定文档的内容 。
      • PUT和POST方法的主要区别是,PUT已经过时,POST并非过时。
      4.HEAD
      • 它与Get技术相似, 但它并不返回任何特定的回答, 可能用来获取头条新闻。
      5.DELETE
      • 请求从服务器中删除给定资源 。
      6.OPTIONS
      • 获取URL所要求的资源支持的机制。
      7.CONNECT
      • 开放客户与所请求的资源之间的双向通道,这些资源可用于建造隧道。

      四、响应状态码

      分类 含义
      1XX 发送消息。 这种身份代码,即该代表的要求,已被接受,必须进一步处理。 这种回复只是暂时的,只包含状态行和一些可选回复信头信息,并以空行结束。
      2XX 此类状态代码表示服务器成功接收、 解释和接受的请求 。
      3XX 这是重定向。 这些州代码表示客户有必要进行重定向, 响应的定位字段中指定了以下请求地址( 相对方向目标 ) 。
      4XX 这些州代码描述了客户的一些问题,例如没有所要求的资源。
      5XX 是服务器错误。这些状态代码表示服务器的某些问题。
      1. 2XX
      状态码 描述
      200 请求获得批准,请求的信息被退回。
      202 接受但尚未处理的请求
      206 当客户请求部分数据时, 服务器会添加范围头, 并提供 206 状态代码 。
      2. 3XX
      状态码 描述
      301 请求的资源被永久移到新的 URL, 返回信息包括新的 URL, 浏览器将自动瞄准新的 URL。 今后的所有请求应该由新的 URI 替换 。
      302 然而,与301件相似的是,资源只是暂时搬迁,客户应继续使用原URI。
      3. 4XX
      状态码 描述
      400 服务器无法解释客户端请求的语法错误 。
      401 获得用户身份
      403 服务器理解所请求的客户的要求,但拒绝执行。
      404 服务器无法应客户的要求找到资源。
      4. 5XX
      状态码 描述
      500 由于内部服务器错误,请求无法完成 。
      502 接收远端服务器的无效请求, 它作为网关或代理服务器 。

      会话和 Cookie

      由于HTTP协议是一项最先进的协议,饼干和会议被用来弥补这一弱点。

      1.Cookie
      • Cookie 是一个简短的文本信息, 客户端从服务器询问服务器是否想要记录用户状态 。
      • 当客户浏览器再次请求网站时,它将将请求的地址与 Cookie 一起传送到服务器,服务器将检查 Cookie 以识别用户信息 。
      2.Session
      • 会话是捕捉客户端状态并将其存储在服务器上的另一种方式。 当客户浏览器连接到服务器时, 服务器会在服务器上以某种形式存储客户端信息 。
      • 当客户浏览器重新访问时,只需要从会话中获取客户的状态。
        在这里插入图片描述
      三. 如何保存会话日志
      • Cookie: Cookies-session 通常用于管理 HTTP 状态 。
        1. 创建服务器的单一会话ID, 并将其作为密钥使用, 用户信息作为会话中的值存 。
        2. 插入 sesionId 作为 cookie 值 。
        3. 当提出后续请求时, cookie 将包含最新记录的数据, 服务器将验证 cookie 携带的会话, 如果服务器有此会话, 校验将会成功 。
      • URL 重写 : 虽然当前浏览器通常支持 Cookie, 但用户可以禁用 Cookie, 一旦禁用, 便无法使用 cookie - session, 因此 URL 也可以用于 HTTP 状态控制 。
        • 使用 URL 参数:在将会话Id 插入 URL 参数后,您可以传输 URL 参数。
        • 折叠 URI: 包括会话Id 作为 URL 的一部分 。
      四,Cookie和届会之间的区别。
      • Cookie 保存在客户端浏览器中, 而会话则存储在服务器中 。
      • Cookie 保存在浏览器中, 用户可以在浏览器中读取、 删除甚至编辑 Cookie, 而会话则存储在服务器中, 用户通常无法接收信件, 因此 Cookie 通常不包含敏感信息 。
      • 不同期限:饼干的到期时间可以无限期确定,即使没有到期,但是在服务器上停留会话会给服务器造成某种程度的压力,并需要定期取消会话。

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

          热门文章

          文章分类