精选文章 HTTP解析

HTTP解析

作者:JustSleep 时间: 2021-02-05 09:44:00
JustSleep 2021-02-05 09:44:00
【摘要】1、超文本传输协议 
HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。 
HTTP 协议是基于 TCP/IP,并且使用了「请求 - 应答」的通信模式,所以性能的关键就在这两点里。 
2、GET 和 POST 
Get 方法的含义是请求从服务器获取资源,这个资源可以是静态的文本、页面、图片视频等。 
而POST 方法则是相反操作,...

1、超文本传输协议

HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。

HTTP 协议是基于 TCP/IP,并且使用了「请求 - 应答」的通信模式,所以性能的关键就在这两点里。

2、GET 和 POST

Get 方法的含义是请求从服务器获取资源,这个资源可以是静态的文本、页面、图片视频等。

POST 方法则是相反操作,它向 URI 指定的资源提交数据,数据就放在报文的 body 里。

GET 和 POST 方法都是安全和幂等的吗?

  • 在 HTTP 协议里,所谓的「安全」是指请求方法不会「破坏」服务器上的资源。

  • 所谓的「幂等」,意思是多次执行相同的操作,结果都是「相同」的。

GET 方法就是安全且幂等的,post既不安全也不幂等

3、http特性

1)简单

2)灵活和易于扩展

3)应用广泛和跨平台

缺点:

无状态、明文传输、不安全

4、http1.1改进

1)长连接 

持久连接的特点是,只要任意一端没有明确提出断开连接,则保持 TCP 连接状态

2)管道网络传输

即可在同一个 TCP 连接里面,客户端可以发起多个请求,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间。

3)队头阻塞

5、HTTP 与 HTTPS

  1. )HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。

  2. )HTTP 连接建立相对简单, TCP 三次握手之后便可进行 HTTP 的报文传输。而 HTTPS 在 TCP 三次握手之后,还需进行 SSL/TLS 的握手过程,才可进入加密报文传输。

  3. )HTTP 的端口号是 80,HTTPS 的端口号是 443。

  4. )HTTPS 协议需要向 CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。

5、http风险以及解决

窃听风险、篡改风险、冒充风险

HTTPS 在 HTTP 与 TCP 层之间加入了 SSL/TLS 协议。

  • 信息加密:交互信息无法被窃取,但你的号会因为「自身忘记」账号而没。

  • 校验机制:无法篡改通信内容,篡改了就不能正常显示,但百度「竞价排名」依然可以搜索垃圾广告。

  • 身份证书:证明淘宝是真的淘宝网,但你的钱还是会因为「剁手」而没。

如何实现?

  • 混合加密的方式实现信息的机密性,解决了窃听的风险。HTTPS 采用的是对称加密非对称加密结合的「混合加密」方式。

  • 摘要算法的方式来实现完整性,它能够为数据生成独一无二的「指纹」,指纹用于校验数据的完整性,解决了篡改的风险。

  • 将服务器公钥放入到数字证书中,解决了冒充的风险。

6、SSL/TLS 协议基本流程:

  • 客户端向服务器索要并验证服务器的公钥。

  • 双方协商生产「会话秘钥」。

  • 双方采用「会话秘钥」进行加密通信。

7、SSL/TLS 协议具体流程:

首先,由客户端向服务器发起加密通信请求,也就是 ClientHello 请求。

服务器收到客户端请求后,向客户端发出响应,也就是 SeverHello

客户端收到服务器的回应之后,首先通过浏览器获得服务器 CA 公钥,确认服务器的数字证书的真实性。如果证书没有问题,客户端会从数字证书中取出服务器的公钥,然后使用它加密报文,向服务器发送信息。

服务器收到客户端的第三个随机数(pre-master key)之后,通过协商的加密算法,计算出本次通信的「会话秘钥」。然后,向客户端发生最后的信息。

注意:私匙是用来对公匙加密的信息进行解密的,是需要严格保密的。

公匙是对信息进行加密,任何人都可以知道。所以这里的私匙和公匙利用了非对称加密。

使用两者互相发送请求时产生的随机数,计算出一个对称加密的密匙,以此作为加密信息并发送。

总结:使用非对称协议加密对对称协议加密密匙的加密,并使用对称加密协议,进行信息的加密。

 

 

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:Spring bean的加载过程源码分析

下一篇:leetcode_58 Jump Game IV

您可能感兴趣

  • 使用PHP DOM-XML创建和解析XML文件

    /**   * Topic:       Create and parse XML files using PHP DOM-XML   * Source:      http://www.php.net/domxml   * Reference:   http://www.zugeschaut-und-mitgebaut.de/php/extension.domxml.html   * Au...

  • 《深入解析ATL》学习手札 -- 第一天 (ATL #1)

    COM是Windows操作系统的基本软件模型,从1993年建立以来,为Windows平台的发展做出了不可磨灭的贡献,而且自身还在不断发展。  对于一个在Windows下开发应用软件的程序员来说,学习COM有多么重要,为了能够深入的学习COM技术,特从书店买回一本潘爱民译的《深入解释ATL》一书,希望能在这本书的指引下,一步一步进入ATL开发COM组件的殿堂。  今天是学习《深入解释ATL》第...

  • 错误修订:SCJP认证套题解析之二第40题

    40: String s= "hello"; String t = "hello"; char c[] = {'h','e','l','l','o'} ; Which return true? A. s.equals(t); B. t.equals(c); C. s==t; D. t.equals(new String("hello")); E. t==c. (acd) 题目:哪些返回tru...

  • Dns解析(上)

    Dns解析(上)Dns(Domain Name Server)即域名服务器,在网络中承担着将域名转换为ip地址的工作。在很多编程中都要用到这种技术,就是使用域名解析。这篇文章将说明这项技术。通过Dns服务器,可以查询很多地址,比如mail服务器地址,ftp服务器等等,我在这里就以mail服务器为例,并以java实现。+---------------------+    |        He...

  • XML的JAVA 解析(一)(3)

    一列简单的Java对象对于更加复杂的XML文档,我们需要映射一系列的对象到Java。映射一系列对象就像做酒吧服务生一样:当一个服务生要倒满一排啤酒时,他通常让酒桶龙头一直开着,他则只是讯速地把杯子依次接到龙头下面。这正是我们捕获一系列对象时所要做的。我们无法控制到来的SAX事件;它们就像不能关闭的龙头里流出来的啤酒一样。为了解决问题,我们需要提供空的容器,让它们充满,不停的替换它们。 我们下...

  • XML的JAVA 解析(一)(2)

    Hello world 现在我们明白了基本的SAX原理,我们可以着手做一点稍微有用的:从我们的XML样本文档中解析出值来,实现经典的hello world程序。 首先,将每个感兴趣的元素印射到Java,我们在startElement 事件处重置我们的数据缓存。然后,当startElement已经发生,而endElement事件还没有时,我们把characters事件对应的所有字符收集起来。最...

  • XML的JAVA 解析(一)(7)

    class Example6Triangle extends DefaultHandler {   // 当前三角形的本地引用...        private Triangle currentTriangle;   // Parent...

  • XML的JAVA 解析(一)(4)

    共用标签的对象在我们开始探讨更复杂的容器结构之前,我们还要搞掂SAX的另一个麻烦。虽然它不常见,在XML文档中出现在不同位置的数据也许会共用同一标签名却属于不同的Java对象。假设你有一个customer节点, XML文档中有一个cunstomer representative(客户代表)节点。这些节点都有FirstName和LastName标签。有了这个含糊的地方,在endElement事...

CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
HTTP解析介绍:华为云为您免费提供HTTP解析在博客、论坛、帮助中心等栏目的相关文章,同时还可以通过 站内搜索 查询更多HTTP解析的相关内容。| 移动地址: HTTP解析 | 写博客