网络协议之HTTP、HTTPS

      最后更新:2022-03-19 19:44:10 手机定位技术交流文章

      概述

      HTTP是申请一级的通信协议。
      HTTPS ,它可以被视为HTTP议定书的一个安全备选案文。SSL/TLS安全认证机制实际上是在TCP和HTTP层之间插入的。要在客户端和服务器之间加密数据,最终目标是确保整个连接的安全。大部分用于对称加密、非对称加密、证书等等。
      为什么HTTP在HTTP之后又出现?
      由于《http 协议》中的数据是明确广播的,因此转让敏感信息是不安全的,因此建立HTTPS是为了补救HTTPs的脆弱性。

      HTTPS安全机制的理由说明

      在理解HTTPS如何提供安全机制之前,我们必须首先理解一些加密算法,这些算法在对称加密和不对称加密中讨论。
      据我们所知,HTTPS采用对称和不对称加密以及证书,以确保安全传输。由于对称和对称加密能够确保数据安全,同样至关重要的是,数据必须安全保存。那么,同时使用两种加密算法有什么意义?这是利弊两方面的混合。我们知道,对称加密解密快速。然而,关键的管理和分配安全检查;不对称加密,在解决关键管理和分配安全问题的同时,也关注钥匙的安全。尽管如此,解密过程仍然缓慢。所以,由于安全和性能原因,这两种技术都同时使用。这是通过用非对称加密公用密钥加密密钥加密密钥来实现的。然后发送出去,用对称加密, 收件人使用私人密钥解密密钥 。之后,双方可以使用对称加密进行沟通。
      为什么不只是使用对称加密法呢?
      如果我们使用对对称加密,答案是让我们看看发生了什么事情。如果只有几个后端接口提供服务者通常会向打电话的人提供密钥。后端界面通过密钥加密和解密发送数据 。然而,如果它是一个浏览器 请求服务器,用户将能看到我们的密钥 。如果服务供应商为所有用户所见,也是同样的关键。当用户的钥匙失密时这将对其他用户数据传输的安全性产生重大影响。

      为什么不只是使用非对称加密法呢?
      A:第一个原因是数据解密速度缓慢,第二个原因是安全问题。
      我们知道非对称加密包含一对公用和私用密钥。 私人密钥通常只保留在服务器上,而公用密钥可以分配给所有客户。 公用密钥加密内容,只有私人密钥可以不关闭,所有公用密钥都可以不加密。
      这种方法还带来在公用钥匙传输期间被中间人拦截的危险。然而,与对称加密如何向客户分配不同钥匙相比,非对称加密至少可以确保中间人无法用公用钥匙解密客户加密的材料。因为私人密钥只保留在服务器上公用密钥加密的内容只能用私人密钥解密 。
      当中间人截获公用钥匙时获得公用钥匙毫无意义,中介人能否在截取服务提供的信息并将其传递给用户后用假公用钥匙取代真正的公用钥匙? 事实上,答案是肯定的。
      如下图所示,MITM是一个中间人(MiddleAttack的中间人),接下来,你创造一对假的公用和私人钥匙。把假公用钥匙交给客户数据由客户端加密并发送到服务器。他们中间被中间人拦住。在中间人私人密钥解密后这表明客户的数据是可以调取的。然后,中间人可以篡改所需数据。使用真正的公用钥匙加密,传回服务端。

      为什么CA认证组织必须提供证书?
      回答:虽然不对称加密更接近于解决数据加密传输问题,但无法实现。然而,在某些情况下,公共钥匙仍然被交换。数据被篡改的风险。那么,我们可以检查一下客户吗?检查浏览器收到的公用密钥是否合法 。这种思路是对的,但是,如果我们自己这样做,我们将能够自己做到这一点。我们怎样才能将经过验证的数据输入浏览器?不验证加密数据传输 。传播过程中仍有渗漏的可能性。如果进行加密,同样的加密问题也存在。
      因此,该行业设立了一个核证机构,以便签发核证书。一般而言,服务提供者必须寻求认证组织的证明。核证机构,使用申请人的公用钥匙、申请人的组织和个人资料、签发人CA的资料、证书的有效期、序号等等,使用可公开访问的散列算法计算信息摘要。然后,用 CA 的私人密钥加密信息摘要 。创建用作签名的隐藏信件。同时,操作系统或浏览器中的CAROT证书将包括在认证结构中。浏览器将包括官方第三方核证机构的公用钥匙。例如,VeriSign、Symantec和GlobalSign就是这种情况。
      为什么要有签名?
      答复:上述CA签发证书时,它将发挥数字签字的作用。那么,为什么我们需要一个数据签名?向第三方机构发送该服务的公用钥匙。难道不能只使用私人钥匙加密吗?但是我们要知道,任何人都可以通过向第三方机构提出申请获得证书。第三方机构使用一对私人和公共钥匙。假设我们的中间人也申请了中间人现在可以截取服务终端返回证书。然后更换为自己的,之后再发给客户端。此外,由于第三方同样也是证明书的有效申请人,结果,客户解密成功。这是中间人可以用来加密的公用钥匙 也是中间人可以用来加密的公用钥匙当它被发送到服务器时,中间人截取之后,未收到信件:%s%s
      另一方面,通过数字签字,由于使用域名等信息的结果,只要浏览器发现它不在目前域内,就被视为被篡改了。 就当前域而言,解密表明,由于使用域名等信息,签名不同,并且被认为通过数字签字被虚构的手篡改,只要浏览器发现它不在目前域内,而且就目前域而言,解密表明,签名不同,被认为被篡改,因为使用域名等信息,它被视为被篡改了,只要浏览器发现它不在目前域内,而且就目前域而言,解密表明,签名是不同的,被认为被篡改了。

      这样,可以尽最大可能确保通信的安全。

      HTTP和HTPS之间有什么区别?

      Http 和 Https 之间的区别 :

      • HTTP URLs以http://开头,而 HTTPS URLs则以https://开头。
      • HTTP不是安全的,不管HTPS是安全的。
      • 通常的 HTTP 端口为 80, 标准 HTTP 端口为 443 usualmal HTTP 端口为 80, 标准 HTTP 端口为 443。
      • HTTP在OSI网络结构的应用层操作,而HTTPS安全传输在传输层操作。
      • HTTP 无法加密, 但是 HTTPS 加密正在传输的数据 。
      • HTTP并不要求使用证书,但HTPS要求使用CA签发的SSL证书。

      HTTP各版本之间的变化

      自采用HTTP以来,一些版本已经发布,尽管根据功能变化程度,它们可能大致分为三种版本:HTTP1.0、HTTP1.x和HTTP2.

      HTTP2诉HTTP1.x的主要好处如下:

      • 二进制分帧
        在HTTP2中,框架是数据传输中最小的单位。
        信息:在 HTTP2 中,符合逻辑的 HTTP 信息包含一个或多个框架,如请求和回答。
        流: 存在于虚拟连接通道中。 每个流可以包含双向通信, 并有一个单一的整数 ID 。
        HTTP/2 以二进制格式而非 HTTP1 传输数据。 二进制协议比基于文本的协议得到更有效的处理。

      • 服务器推送
        服务器在提供 HTML 页面时可以积极推动额外的资源,而不是等待浏览器向正确的地点分析请求启动请求。例如,服务供应商可以主动将 JavaScript 和 CSS 文件传送到客户端,而不是在客户端解决 HTML 时发送请求。
        服务是主动提供的,客户可以选择接受或拒绝服务。如果客户的资源被浏览器隐藏,浏览器可以通过发送 RST_STREAM 框架拒绝服务。主动交付也遵循同一来源政策,服务器不会任意将第三方资源推给客户。

      • 头部压缩
        HTTP1.x如果经常在请求和答复中包含不同和长头的数据,将对网络造成额外的压力。
        HTTP2客户和服务器使用“第一桌”跟踪和储存以前提供的关键价值。对于相同的数据,不再随每项请求或答复一并发送这些请求或答复。第一项列表存在于 HTTP2 连接的持续期间 。客户和服务器一起工作,逐渐更新。每个新初始密钥 - 数值对都附在现有表格的末尾。或者,可以替代表格前的数值。它可以被视为仅仅为了差异而传输数据。而不是全部发送,它会减少大脑信息的数量。

      • 多路复用
        HTTP 1.x要求使用一个以上的 TCP 连接传输许多请求,浏览器有6-8 TCP 个人域名请求,以管理资源。
        而在HTTP2中:

        • 使用同一域名的所有对话都通过单一连接进行。
        • 单一连接可支持无限数量的双向数据流。
        • 数据流是作为电文传输的,电文由一个或多个框架组成,可以任意在它们之间发送,因为可以根据框架交付数据流的顶部的流量标记重新组装,电文由一个或多个框架组成,可以随机在它们之间发送,因为可以根据框架顶部的流量标记重新组装。

      HTTP支持下列方法:

      • GET
        请求将转到适当的资源。
        注:在“副作用”过程中不应利用请求,因为网络蜘蛛可以容易和任意地获取请求。
        参数位于所要求的URL之后。
      • POST
        如果请求机构载有必要的数据,则向特定资源提交数据,以便处理请求(例如提交表格或文件上载),员额请求可能导致产生新的资源或改变现有资源。
        参数在请求体中。
      • HEAD: 获取信头信息。 与 GET 方法一样, HEAD 方法不会返回响应机构 。
      • PUT 和 PATCH: 更新资源。 PUT 方法的 PUT 参数是后台的完整资源对象, 包括所有对象字段, 而后台的 PATCH 参数只是包含需要编辑的资源对象字段 。
      • 丢弃资源。
      • OPTIONS
        获得目标资源支持的通信选项,并利用选择方法向服务器发送请求,以确定服务器支持的HTTP方法,即将服务器支持的HTTP请求返回给定资源的方法。

      常用的 HTTP 状态代码 。

      开始(请求成功)显示请求的状态代码已成功处理 。

      • 请求由200个(成功)服务器成功处理,在多数情况下,这意味着服务器提供了所要求的网页。
      • 201 (创建) 请求成功,服务器产生了新的资源。
      • 202个服务器被接受,但没有处理请求。
      • 203(未经授权的信息)服务器成功完成了请求,但归还的信息可能来自另一个来源。
      • 204(无内容)服务器正确处理请求,但没有返回任何内容。 205(替换)服务器正确处理请求,但没有交付任何结果。
      • 206 (内容) 服务器成功处理了一些 GET 请求 。

      前缀( 请求重定向) 表示完成请求需要更多的行动。 这些州代码通常用于调整 。

      • 300 (许多选项) 服务器可以通过执行多个动作选项响应请求) 服务器可以通过执行多个操作响应请求。 服务器可以根据请求人( 用户代理) 选择一个动作, 或者提供一个选项列表, 供请求人选择 。
      • 301 (永久迁移) 表示所请求的页面已永久迁移到新位置。 当服务器提供这一答案( 根据 GET 或 HEAD 请求) 时, 请求者会立即被转到另一个站点 。
      • 302(临时搬迁)服务器目前响应不同地点网页的请求,但请求人应继续使用同一地点处理随后的请求。
      • 303( 参见其它位置) 服务器返回此代码, 当请求者向其它位置提出多次请求时 。 当请求者向其它位置提出多次请求时 服务器返回此代码 。
      • 304(未修改) 请求的网页自上次请求以来没有更改。 当服务器发送此回复时, 它不返回网页的内容 。
      • 305 (代理使用) 申请人只能使用代理访问请求页面5 (代理使用) 申请人只能使用代理访问请求页面。如果服务器响应此信息,它建议申请人应当使用代理。
      • 307 (临时调整方向)服务器目前正在对各网页的请求作出回应,但申请者应继续使用同一地点处理以后的请求。

      第四次报告(请求错误)开头的这些州代码表明请求可能不正确,使服务器的处理速度放慢。

      • 服务器不承认请求的语法, 返回 400 (错误请求) 。
      • 401(未经授权)身份识别请求 此回复可由服务器返回登录页 。
      • 服务器拒绝请求, 密码为403( 禁止) 。
      • 在服务器(404)上找不到所请求的页面 。
      • 405 (禁用的方法) 禁用所要求的方法 。
      • 406 (未接受)不使用请求内容属性回应请求的网页。
      • 状态代码与401(未经授权)相同,但指定请求人必须允许使用该代理人。
      • 408(请求超时)服务器等待请求时发生超时。
      • 在请求完成后发生409次(冲突)服务器冲突。 服务器的答案必须包括与冲突有关的信息。
      • 410( 删除) 如果请求的资源已被永久删除, 服务器返回此答案 。
      • 411(所需有效长度)服务器拒绝没有提供适当内容长度页眉字段的请求。
      • 412 (不满意的先决条件) 服务器不符合请求人规定的先决条件之一。
      • 413(请求实体过大)服务器无法处理请求,因为请求实体太大,超出了服务器的能力。
      • 414 (所要求的URI太长,服务器无法处理) 所要求的URI(通常是网站)太长,服务器无法处理。
      • 415 (媒体类别不支持) 所要求的页面不支持请求的格式 。
      • 如果页面无法提供所请求的范围, 服务器返回状态代码 。
      • 417 (预期不满意) 服务器不符合“ 预期” 请求信头的标准 。

      状态代码 5 (服务器错误) 表示服务器在试图处理请求时遇到了内部问题。 这些错误可能是服务器造成的, 而不是请求造成的 。

      • 500 (服务器内部错误) 服务器遇到一个问题, 无法处理请求 。
      • 501 (未执行) 服务器没有能力执行请求。 例如, 如果服务器无法识别请求方法, 可以返回此代码 。
      • 502(错误网关)服务器作为网关或代理服务器从上游服务器收到无效的回答。
      • 503(服务无法提供)服务器现在无法使用(由于超载或维护故障时间过长)。一般说来,它只是一个经过的阶段。
      • 服务器作为网关或代理,但不及时收到上游服务器的请求,但收到504份(加班费)。
      • 505 (HTTP 版本不支持) 请求中指定的 HTTP 协议版本没有得到服务器的支持 。

      HTTP GET 方法与 PST 方法之间的差异

      • 区别一
        集中精力从服务器获取资源,然后将数据传送到服务器;

      • 区别二
        通过URL获得数据传输。字段 = 值是公式的一个示例。置于URL后,并用"“连接,多个请求数据间用”&"连接,如http://127.0.0.1/Test/login.actionname=admin&password=admin,这一过程的用户是可见的;
        将数据通过HTTP的锅机制发送到服务器,用户无法访问该锅机制,办法是用匹配值封闭请求实体的字段。

      • 区别三
        获取较少发送的数据, 因为它受 URL 长度的限制, 但效率更高 。
        因为Post可能发送大量数据, 上传文件只能以 Post 模式完成 。

      • 区别四
        Get 风险很大, 因为 URL 是可以访问的, 并可能暴露敏感信息, 如密码 。
        (a) 职位安排比接收更安全;

      • 区别五
        您使用的方法只接受 ASCII 字符, 您发送到服务器的中文字符可能被误解 。
        邮政确认一套标准字符,可以适当翻译成中文字符。

      HTTP 会话与 cookies 的区别

      会话和饼干的主要区别是:

      • Cookie还在跟踪客户Cookie没有定义存储时间 。关闭浏览器会话 Cookie 将被销毁; Cookie 指定存储时间,保留在用户设备磁盘上,并知道何时过期Cookie同时在客户身上 所以她可以伪造不是十分安全,敏感数据不易保存。在服务器端保存会话 。内存由在 IIS 中保存的过程打开 。和届会过度使用服务器资源。因此,会议在可行的情况下很少使用。
      • 会话是一种服务器用来跟踪用户的机制。每届会议都有不同的特性:会议编号。当服务创建会话时, 它会发送饼干给客户端, 并保存它 。这个Cookie收藏了会场的SessessionId, 以确认请求是由客户提出的。用户可能在服务器上找到成千上万个会话 。它还确保各页之间正确发送数值。
      • 会话和 Cookie 保存不同类型的数据 : 会话可以存储任何 JAVA 对象, 但 Cookie 只能存储字符串类型对象 。
      • Cookies 用于数据不超过 10K 。

      HTTP 请求和反应结构

      HTTP 请求结构

      请求分为四节:请求行、请求头、空行和请求机构。

      • 请求行
        它们按空格分隔,包括:请求方法字段、 URL 字段和 HTTP 版本字段。 例如, GET/ index.html HTTP/1. One 。
      • 请求头部
        要求头部由一对关键词/数值组成,用英文冒号“:”分隔,用于关键词和数值。
        • 用户代理 : 用于提出请求的浏览器 。
        • 接受:客户可以识别的内容类型清单。
        • 主机: 想要的主机名使许多域名能够共享一个名为虚拟主机的 IP 地址 。
      • 请求体
        从所安排的职位等索取的数据。

      HTTP反应结构

      请求分为四节:答复项目、答复项目、答复项目、空白项目和答复机构。

      • 响应行
        它包括协议版本、状态代码和状态代码的理由短语,例如,HTTP/1.121OK。
      • 响应头
        响应部首组成
      • 响应体
        服务器响应的数据

      URI 和 URL 的区别

      URI介绍

      一个 URI 是一个统一的资源标识符, 用于只识别一个资源。 网络上的任何资源, 如 HTML 页面、 照片、 视频剪辑、 应用程序等等, 都由一个 URL 定位 。

      URI分为三个部门:

      • 访问资源的命名机制
      • 存放资源的主机名
      • 如路线所示,资源名称以资源为重点。

      URL介绍

      URL 表示统一的资源定位器,这是一个单一的资源标识符,可用于确定资源并确定资源的位置。

      URL是一个字符串,在互联网上用来描述信息资源,主要是关于不同的WW客户端和服务器应用程序的信息资源,最突出的是著名的Mosaic。

      URL 可以用一致的方式用于代表文件、服务器地址和目录等信息资源。 URL 通常由三部分组成:

      • 协议(又称服务方式)
      • 与资源相关的主 IP 地址( 有时还有端口号)
      • 主机资源地址, 如文件夹和文件名 。

      HTTP 最常见的问题

      Http 协议如何处理 Http 协议没有地位的处理?
      答复:无罪协议没有处理请求的记忆能力,缺乏地位意味着如果随后的处理需要事先信息,协议将失败。
      也就是说,在完成HTTP要求后,客户又提交了HTTP要求,而目前的客户不知道它是“老用户”。
      Cookie可能被用来解决无国籍问题,Cookie功能类似于通行证,服务器第一次访问时给客户一个Cookie,客户带着Cookie返回时,服务器知道这是一个老用户。

      HTTP身份代码301和302之间有什么区别?
      状态代码301和302都意味着重新定向。这意味着当服务器返回此状态代码时, 浏览器将立即转到不同的地址 。这个地址可能来自对地点的答复的第一部分(用户观察到的影响是,他提供的地址突然改为另一个地址B)——这就是他们的共同点。他们的不同在于。301身份代码表明,前地址A的资源已被永久撤回(不再可用)。在获得新材料后,搜索引擎将旧站点换成一个重新定向站点;302指出,旧的URL A仍然可用(仍然可以访问)。这一调整是从旧地址A到新地址B的短暂过渡。搜索引擎保存旧网站,同时捕捉新材料。

      常用应用场景

      • 场景一
        旧域名过期了, 但用户不想更新价格, 因此用户在访问旧域名时被重定向为新域名 301 。 它确实告诉搜索引擎, 新域名必须考虑到域名 。
      • 场景二
        成功登录后重定向到给定页面,当登录成功浏览到某个系统页面时,更常见。
      • 场景三
        例如,通常要求它自动更新网页,在5秒钟后返回详细的顺序页。
      • 场景四
        当系统升级或某些功能被交换时,必须暂时更换地址。
      • 场景五
        使用短域名(如推特)的用户在冲浪后必须改用真实地址。

      密切注意302个调整网站的接管问题。
      A:当确定将302个目标从A网址转到B网址时,主机服务器的警告是网站A 随时可能改变其决定。重新点亮其内容或看别处。搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎、搜索引擎当你们收到302的再定向的时候,通常只是去目的地 但只是为了到达目的地也就是说网址B。如果搜索引擎遇到302转弯目标地点B完全被俘获不要担心 URL poofing。问题就在于,有的时候搜索引擎,特别是谷歌取回目的地并非始终可行。
      比如说,有时网站会相当简短。然而,它有302次转向B站点。B站点有一个很长的,乱七八糟的 URL。它甚至可能有像问号一样的参数。很自然的,网站比较容易使用。而B网址既难看,又不用户友好。目前,谷歌有可能继续显示A站点。因为搜索引擎排名算法不是人 而是电脑至於302转弯,作为一个人,不可能评估哪个地方更合适。这样可以让 URL 被劫持 。也就是说,一个不道德的家伙 创造了302 重新定位到你的网站B 从他自己的网站A。出于某种原因,A站点仍在谷歌搜索结果中显示。但是,使用过的网页的内容可以在您的网站B上找到。这被称为 " URL劫持 " 。你辛勤工作的东西被拿走了302个网页被重新定位,造成URL被劫持。它已经绕了很长一段时间了不过到目前为止,看来没有其他选择。

      重定向307,303,302之间有区别吗?
      A: 302是 http1 Protocol status code 0. 版本1包括两个额外的303 和 307 status code 来微调 302 status code。
      303 303 303 明确指出,客户应使用获取方法获取资源,而为调整方向,他将把POST请求转化为Get请求。 307 将遵守浏览器标准,并自上而下地接受。

      HTTP保持活力的目的何在?
      照片来自Flickr用户pic.与每个 http 请求建立连接 。建立这种联系的过程既需要资金,也需要时间。为了减少资源消耗,缩短响应时间,就需要重用连接。后来,HTTP/1.Middle 0和HTTP/1在#1中添加了#1。已经实施了重新连接机制。这是添加连接的请求: 保持提醒对方不要在请求完成后终止连接 。下次我们再继续处理这个请求协议要求 HTTP/1。 如果您想长期保持连接开通,无法关闭临时文件夹:%s。

      活下来的好处包括:

      • 使用的CPU和内存较少(因为同时开放的连接较少)。
      • 启用 HTTP 管道以接受请求和回复 。
      • 消化控制降低(TCP连接减少)。
      • 后续请求的延误减少(无需进一步握手)。
      • 由于报告问题,没有必要关闭TCP公司。

      使用TCP/IP议定书模式的HTTP数据传输

      在通过TCP/IP在线沟通的同时,在等级安排中,数据包相互沟通。从应用层向下,发件人,从链层, 接收端上升。数据从客户端传输到服务器,每一帧数据传输的顺序都为:应用层->运输层->网络层->链路层->链路层->网络层->运输层->应用层。

      就HTTP传输而言,HTTP客户端要求的传输程序(例如,下图说明浏览器与HTTP服务器之间的通信:
      在这里插入图片描述

      HTTP要求物理网络之间的传输程序如下:
      在这里插入图片描述
      在数据包在物理网络之间的传输过程中网络层使用路由器储存和组织网络之间的数据包。建立互连性的最基本方法是利用路由器连接两个或两个以上的网络。路由器可被视为一个独特的硬件单位,用于网络连接。其工作是连接多种形式的有形网络,例如以太网、环网、点对点线和外国直接投资(光分布数据接口)等。

      路由器连接实体网络。结合了各种有形网络,可能有许多路由器。然而,申请一级的情况仍然相同。TCP协议抑制了物理层的复杂性。总之,身体特征和区别被隐藏起来。因此,因特网TCP/IP传输变得极其强劲。

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

          热门文章

          文章分类