三个火枪手饼干、会话和当当

      最后更新:2021-11-22 08:30:16 手机定位技术交流文章

      三个火枪手饼干、会话和当当

      • 一:基础知识
        • HTTP协议
          • 1.概念:
          • 2. HTTP提交格式:
            • 请求行
            • HTTP请求头
            • 请求数据
          • HTML 回应报告格式3
          • 《HTTP协定》的四大特点:
      • 二:cookie
        • 1.引入原理:
          • 概念:
        • 2.基本介绍
          • 分类
          • 作用域
      • 三:session
        • 1.基本原理
        • 2.概念
          • 储存会话代代号的方法
            • 存于cookie中
            • URL重写
      • 四:token
        • 1.概念
        • 2.解决的问题
        • 三. 深入解释象征性系统
      • 五:总结

      一:基础知识

      HTTP协议

      1.概念:

      一种HTTP协议:超文本传输协议,一个用于发送网络数据的网络传输协议(html文本、图像、数据等等),以TCP/IP协议为基础(铭记TCP/IP包含一个面向连接的功能)。
      使用三种握手:c/s结构(客户/服务器)、c/s结构(客户/服务器)和c/s结构。

      四次挥手:

      2. 双重过渡性协议要求采用某些程序:
      当客户访问 URL 时, URL 会解析, 并构建 HTTP 请求的数据包; 软件包会通过已建立的 TPCP 连接传输; 服务器会接收软件包并发送响应软件包; 完整 HTTP 请求包括请求和回复。

      2. HTTP提交格式:

      以下是HTTP请求包的一般格式:
      在这里插入图片描述

      2.请求方法
      POST和GET是最常见的 请求方法。
      POST:

      • 大部分负责将数据发送到服务器和上传数据
      • 没有尺寸限制(通常为2米)。
      • 它大于Get形式,但慢。

      GET:

      • 从服务器检索数据的主要责任
      • 这是尺寸限制,一般是1024比特
      • 它比POST更有效,不那么难
      • 在地址栏中显示的 URL 附加参数。

      请求行

      请求行有三个空格分隔的字段:请求的方法字段、 URL 字段和 HTTP 版本字段。 例如, GET/ data/ info.html HTTP/1. one。

      方法参数指定了HTTP请求的方法,例如通常的 GET/POST 。

      HTTP协议有两个版本:HTTP1.0和HTTP1.1。

      HTP1.1 许多请求和答复可在同一联系下发出,多个请求和答复可能同时重叠和进行, HTTP1.1 多个请求和答复必须有一个主机字段; HTP1.0 将就每个连接只发出一个请求和答复,请求将被关闭, HTP1.0 没有主机字段; HTP1.1 多个请求和答复可以在同一联系下发出,多个请求和答复可能重叠并同时进行, HTTP1.1 必须有主机字段。

      HTTP请求头

      格式:
      名字+:+空格+值

      • HIST: 提供请求资源的域名( 主机、 球套号) 。 HTTP 请求必须包含主机, 否则将返回400个错误 。
      • 普遍获得域名持有提出请求的用户信息。浏览器类型。如果Servlet提供的内容与浏览器类型相关,则此值极有价值。
      • 接受- 编码 : 浏览器可以解码数据编码, 如 UTF-8. gzip 。 服务器可以将 gzip 编码的 HTML 页面返回到支持 gzip 的浏览器中。 然而, 杂乱显示您可以选择不向后压缩 。
      • 接受语言: 服务器支持多种语言版本时浏览器打算使用的语言 。
      • 接受: 告诉服务器客户端可以接收的数据类型 。
      • Cookie: 私密信息, 保存用户名 。
      • 浏览器不使用所请求发件人的电子邮件地址,某些特定的网络客户程序使用该地址。
      • 参考者: 客户端通过此头通知服务器它可以访问的资源( 反海盗链 ) 。 它提供了一个用户从 URL 代表页访问当前请求页面的 URL 。
      • Concent-Length: 指定请求书案文的长度 。

      请求数据

      如果方法字段是 Get, 这是空的, 表示没有可用的数据 。

      当方法字段设置为 POST 时,提交的数据通常储存在这里。

      比如要使用POST方法提交一个表单,其中有user字段中数据为“admin”, password字段为123456,那么这里的请求数据就是 user=admin&password=123456,使用&来连接各个字段。

      HTML 回应报告格式3

      与请求报文格式类似
      在这里插入图片描述
      常见状态码:
      在这里插入图片描述
      答复数据报告最常见的内容
      在这里插入图片描述

      《HTTP协定》的四大特点:

      • HTTP断开,这意味着每次只处理一项请求,在完成请求并收到客户答复后,断开连接,节省资源。
      • HTTP是媒体不可知性,这意味着只要客户端和服务器同意如何处理数据,任何类型的数据都可以使用HTTP协议进行传输。
      • HTTP是非国家的:无罪意味着协议没有处理交易的记忆能力,而缺乏地位意味着在对以前操作的信息采取后续行动时,它必须重新传送,增加数据数量,如果不需要以前操作的信息,数据数量就会减少。

      二:cookie

      1.引入原理:

      如前所述,HTTP协议是一份无地位协议,如果为处理必须使用的信息而需要进一步访问,再传送将使用大量资源,因此必须用作网络服务器。
      在某些情况下,可以确定同一用户。
      您可以跟踪用户的状态 。
      这个客户端与服务器多次互动, 我们可以将客户称为服务器端端的客户会话窗口, 使用会话窗口, 我们就能知道哪个用户提交了请求, 从而使我们能够跟踪会话并记录用户的行为 。

      概念:

      (实现这届会议的技术是曲奇和这届会议)

      2.基本介绍

      (1) 当浏览器访问 URL 时, 服务器将产生一套套装饼干密钥配对, 它包含在 HTTP 回复中并传送给客户端。 收到后, 客户端将客户端提供的饼干保存在本地内存或出口中, 并在下次访问 URL 或 URL 资源时, 将 cookie 连同 HTTP 请求包发送到服务器( 就区分 cookie 和不同网站而言, 每个网站都向他提供独特的标识, 如网站, 并且每次浏览网站, 网站下面的所有 cookie 都会得到验证 。
      2) 每个曲奇有一个名称和一个值,而名称是唯一的。当使用两个同名的曲奇时,后者覆盖前者(类似于Hashi手表中的键的作用)。
      3)WEB浏览器也可以储存不同WEB网站的饼干,浏览器一般限于300个饼干,每个网站最多保留20个饼干,每个饼干的尺寸限制在4KB。
      Cookie为居民创造本地储蓄,并发送

      分类

      1. 会议级 cookie : 当服务器形成时, 它会发送给客户端, 客户端会保存在浏览器中( 内存), 浏览器关闭, 并删除 cookie 。
      2. Storage 级别 cookie: 如果您想要浏览器将 cookie 保存到磁盘, 请将 cookie 的生命周期设置为 MaxAge, 并在秒内提供一个持续时间。 将命令浏览器的最大时限设定为 0, 以删除 cookie 。

      作用域

      域 : 此选项指定 cookie 的 URL 区域, 例如, Cookies 用于确定访问哪些网站或域名 。
      路径 : 默认情况下, 使用任何路径来设置 cookie 运行 URL 的路径 。

      三:session

      由于饼干的最大长度为4096B,当浏览器使用饼干时,饼干可能会被拦截或被盗。 饼干本身的最大容量为4096字节,并保存在客户身上。
      因此,需要一种新型的项目,支持更多的字节,并且以更高程度的安全性保存在服务器上。这就是会话。

      1.基本原理

      当用户向服务器提交请求时, 服务器首先检查请求是否包含一个会话( 在 cookie 或 url 中) 。

      如果没有会话号(请注明它是第一个请求),将为请求用户创建会话对象,会话对象的会话对象(set-cookie,格式-cookie-cookie:会话对象)将回复客户端。

      如果存在一个会话,如果它属于会话,将在服务器端找到,如果它属于会话,如果它被使用,就不会生产。

      因此,服务器会话和客户端的 cookie 之间有链接, 如果没有 cookie 和没有额外处理, 服务器会话就不再存在 。

      2.概念

      会话 : 保存在 cookie 中的信息, 用于区分用户 。 此方法通过服务器端存储会话将会话代号发送给客户 。 当客户访问会话时, 请将数据集包含 jssession id, 以便识别用户, 当服务器获得 jssession id 时, 将它与存储的会话代号比较表进行比较, 确定访问用户, 并实现会话状态的继续 。

      为加快会话的读取和存储速度,将在网络服务器上建立内存,以保持服务器上的所有会话,每次会话将为会话人有一个独特的身份,会话人将根据客户端发送的jsessionid(Cookie)在服务器上发现匹配会话。

      储存会话代代号的方法

      存于cookie中

      Cookies 包含一个称为jsession-id的会话字段,该字段与 HTTP 请求页头一起提供给服务器。

      URL重写

      当Cookie被禁用时, 请使用浏览器 。

      是要将会话的 ID 添加到 URL 路径中。 这样做有两种方法:作为 URL 路径的额外信息,以及作为 URL 附加的查询字符串。

      做法:

      重写窗体动作和超链接的 url 地址, 使用响应 。 Encodurl (String url) 。

      二. 发送中转函数后,将使用 Reference.Encode Retroducturl (String url) 重写 URL。

      这两种方法都是智能的, 如果用户的浏览器删除 cookie, 它默认重写 URL( 在 URL 上的占有权), 而如果用户的浏览器不禁用 cookie, 它则不会在 URL 之后附加会话 。

      它取代反应。 SendRedirect (String url) 。

      四:token

      1.概念

      Token: 它可以被翻译成装饰符, 这实际上是全世界唯一只承认一个客户的字符串。 尽管如此,它并不是一个基于网络的标准,比如饼干和会话,许多人认为它是一种扩大的方法,可以借助饼干和会话的工作来保持用户对话状态。

      2.解决的问题

      Token取消了依赖单一网络服务器的必要性。
      因为用户在之前和之后只使用一个网络服务器,所以用户的会话信息会在会话中保存,而会话属于服务器端的记忆。
      然而,当我们到达网络服务器集群的环境时(我们通常使用网络服务器集群来平衡Nginx的负载平衡,如果我们使用四舍五入等请求分配方法),就会促使雇用者登录A服务器。
      A服务器上已有的原子,但第二个请求被发送到B服务器,那里没有小用户会话,导致用户进一步登录,等等。
      当然,还有其他选择,例如将同一个用户指派到同一个服务器处理,利用饼干存储用户会话信息,等等。

      我们今天谈论的是一个集中用户会话信息的程序。 请求, 和先前的 cookie 和会话机制一样, 自动定位基于 cookie 中的 Jesession 的服务器终端会话, 从会话中提取当前用户的会话信息 。

      三. 深入解释象征性系统

      • 随机生成全世界唯一的随机字符串密码: 在 cookie 中会话, 服务器基于 Jewsessionid 被发现, 这是全世界唯一的随机字符串, 我们也可以生成一个全球唯一的字符串, 例如, 以 UUID 或时间标记随机字符串的形式 ;
      • 网络服务器保存所有会话的内存, 每个会话都有独特的 ID 标识符, 值是会话本身, 并且会话中有很多密钥配对 。 数据中有许多密钥配对, 包括内存、 关键值表和值, 这是对重度的哈希比例的非常精确的描述, 这样我们就可以使用 Hashi 类的重度来代表服务器端端的会话 。
      • 创建用于存储全球字符串参与信息的通信 。

      cookie 和会话机制自动定位服务器, 其依据是 cookie 中的 Jesessionid, 说它是自动的, 但我们正在使用他的密封方法。 Get Saymond () 包含此请求中所要求的所有信息, 肯定通过调用 Get Saymond () 方法( Get Saymond () ) 这样做了, 以在请求中获取 cookie 的 Jesusisid 值, 相应的会话从服务器的内存中找到并返回。 所以我们完全有能力模仿这个机制 : 当用户第一次请求网络服务器时, 或者当用户登录到网络服务器时, 我们可以生成一个全球标志回到前端, 然后将用户信息存储到网络服务器中, 并设置其有效性, 然后每个请求头部都有这个符号, 服务器正在寻找从符号到 Redis 的相应用户信息, 这就是我们谈论的。
      “session”。

      五:总结

      • Cookie的操作理念是,材料由服务器创建,并在收到请求时由浏览器存储在本地;当浏览器再次访问时,浏览器自动携带Cookie,使服务器能够根据Cookie的内容确定是谁。
        cookie虽然在一定程度上解决了“保持状态”的需求,但是由于cookie本身最大支持4096字节,以及cookie本身保存在客户端,可能被拦截或窃取,因此,需要一种新型的项目,支持更多的字节,并且以更高程度的安全性保存在服务器上。这就是会话。
      • 由于《http协议》的非国家性质,功能者不知道访客是谁,因此,上面提到的饼干是一座桥梁。
      • 我们可以为每个客户端的 cookie 指定一个独特的代号, 以便用户知道谁要通过 cookie 。 然后, 根据不同的 cookie 的代号, 我们保留服务器上的敏感信息, 具体的时间长度, 比如账户代码 。
      • 简言之,饼干可以弥补未注明的空白,让服务器知道谁要来;然而,饼干在本地以文字形式保存,不那么安全;因此,我们通过饼干识别不同用户,并在会话中保存秘密信息,并保存超过4096字节的文本。
      • 另一方面,当服务器建在一个网络集服务器上,当服务器A有一个会话时,当服务器A没有访问权限,客户访问B需要重新登录时,Token用几个服务器解决了会话存储问题。 Token用存储存储器存储用户信息,并向客户提供单标的全局信息,并记录在饼干中。

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

          热门文章

          文章分类