HTTP 大白话版,无伤版

简论HTTP协议

HTTP 大白话版

什么是HTTP?

  1. HTTP 就是一种协议。协议可以理解为是一种保密协议,甲方(服务端)是某某公司,乙方是小张(客户端),协议也可以理解为一种暗号,保证一提到这个暗号大家都知道,比如抗日片里面的暗号云:你是哪个山头的啊,天王盖地虎的下一句是什么?我云:大王镇八方,请进请进,原来是自己人呀!这种约定就是一种协议HTTP协议就是用于客户端与服务端约定的
  2. 什么是服务端,什么是客户端。先比一个比较抽象的,服务端就相当于一个买肉的大叔,客户端就相当于买肉的人,这里面的协议就是语言,你对买肉的说:老板,来2斤肉,卖肉大叔解析到顾客的请求,然后对顾客说(响应):马上马上,请骚等两分钟。说明白点,服务端是提供某种服务的,客户端是消费这些服务的,怎么才能用到服务端提供的服务呢?答案是通过协议约定。HTTP协议正式用做服务端与客户端约定的。
  3. 是怎么交互的?客户端发起请求,服务端给出响应,客户端再处理响应。如买花场景:这朵玫瑰花怎么卖啊(发起请求),我想把它送给我最喜欢的人,老板道:小哥,这花30一朵,来一朵吧,你喜欢的人收到花一定会很开心(给出响应),我毫不犹豫的买了3朵(处理响应),高兴极了。其实交互也就是一个请求响应处理的过程。

 HTTP的发展

  1. HTTP 1.0
  2. HTTP2.0 用得最多
  3. HTTP3.0 最新(2019.08)发布,

这里也不再多说,自己了解一下吧

HTTP可靠吗?HTTPS做了哪些优化

  • 首先,在交互的过程中,HTTP传输的过程的数据很可能被黑客劫持,进行篡改,客户端和服务端处理的数据不是最初的真实数据,而是被篡改过后的数据,这是一个很危险的事情。
  • 怎么保证传输的数据可靠,不被篡改呢? 当然是有办法的,显示生活中,我们把钱存在银行里保证资金安全,我们签订协议,用法律来保障自我主权。所以,HTTP也做了类似的操作。使用TLS加密,通过CA机构保证数据传输的可靠性,HTTPS问世:(HTTP+SSL)
  • HTTPS是怎么保证数据在传输的过程中不被修改的?注意:HTTPS也不能保证数据不被挟持,所以要对数据本身做处理,即使黑客挟持到数据,这些数据也不会被篡改。下面看一下HTTP是怎么保证数据安全的:

      1. 使用了一个中间人(CA工信机构)作为桥梁 来帮助客户端认定服务端是真实的
      2. 所以,服务端需要使用HTTPS,必须去CA工信机构申请一份数字证书,这个数字证书里面包括:证书的持有者、证书的有效期、服务器公钥等信息
      3. 我们服务端用了CA工信机构的服务,它也有我们的服务端信息(服务端的公钥),发布这个数字证书给我们服务端的时候,会用自己的私钥对数字证书进行加密
      4. 客户端发起请求时,服务端会返回数字证书给客户端,客户端会拿CA工信机构的公钥去对此数字证书解密,请注意,CA工信机构的公钥已经内置到浏览器或者操作系统中了、,CA工信机构的公钥已经内置到浏览器或者操作系统中了、CA工信机构的公钥已经内置到浏览器或者操作系统中了,重要的话说三遍,最后,客户端会判断这个数字证书是否可信
  • 好了好了,不要闹了,服务端发给用户端的数据保证了,客户端发给服务端的数据如何保证的呢

    1. 当客户端发现服务端发来的证书是可信的,然后解密出服务端的公钥
    2. 客户端会生成一个对称加密随机Key,并用证书内的公钥对这个Key进行加密,这里就非常重要了
    3. 然后把数据发送给服务端
    4. 服务端收到请求后,用自己的私钥进行解密,拿到客户端生成的随机Key(密钥),加密数据后返回给客户端
    5. 客户端收到响应后,就用之前生成的随机Key解密,就能拿到服务端响应的数据了。

    然后就可以愉快的发数据了。。。。。

 再聊一下数字证书吧

  • CA机构用自己的私钥对证书进行解密,客户端用CA机构提供的公钥对证书进行解密。公钥与私钥都可以对证书解密的。但一般都使用公钥解密
  • 数字签名简单定义为 私钥加密,公钥解密的过程,保证数据不会被篡改

使用HTTPS好处

  • 来一个场景:我是谷雨,遇到紧急的事情需要请求组织志愿,对方回答道:‘风萧萧兮易水寒’,我回答道:‘怎能不回忆江南’,对方再问:‘江南无限好,不曾秉烛夜游?’,我回答道:‘待到三江复春时,才敢大话’;经历一番问答,确认了双方身份,然后说正事,我说:“11010000110101001001”,他说:‘ABABABABCJSJSLSTGB’,回到家后,拿出自己的报纸,进行解析,终于得到了一个地址:"刘家胡同2号";于是我昼夜不停地狂奔而去,到了地方,我问:“是你吗,小雪”,对方道:“长青,你来了,你知道吗,我们等你好久了”,接下来就是一波唧唧歪歪的对话了,没啥毛病【这里与本章无关】
  • 好处:保证了客户端与服务端在会话期间的数据不会被篡改,是可靠的,
  • 好处:为网站的安全增加了一套保护伞。

喜欢本章的话点个赞,下期分享,HTTPS 最简单的部署方式!!!