网络请求之HTTP和HTTPS

下面的内容,是自己理解和参考,全手打,不喜勿喷

一.HTTPS和HTTP

      HTTP协议:超文本传输协议,以明文方式发送内容,不进行任何加密,所以就安全角度来说,拦截者截获数据就能看到传输的信息,不适合传输用户的敏感信息:信用卡号,银行密码,账户密码等关键信息。

      HTTPS协议:是为了解决http传输信息不安全,安全套接字层超文本传输协议,在http基础上加入SSL协议,提供证书来保证通信安全验证服务器的身份。

   总结来说两者的区别是:

       1. https需要去ca申请证书;

       2.https传输的信息要加密,具有相对较高的安全性,而http信息是明文传输,无安全性可言

       3.http和https是不同的连接方式,前者是80端口,后者是443端口。

       4.https是http和SSL共同构建的加密、身份验证的网络协议,比http安全。http连接简单,无状态(同一个客户端第二次访问服务端,服务端不知道这个客户端曾经访问过)。

二.http请求的过程。

  1.  http协议对应于应用层,TCP协议对应于传输层,http协议是建立在TCP协议的基础上,http每次请求完成后把TCP连接关闭。
  2.  http请求的过程:首先client和server进行建立连接,http开始。
  3. 建立连接后,C发送请求给S  请求格式:URL+协议版本号+MIME信息(请求修饰符、C信息、可能内容)。(请求行,+请求实体 + 请求首部字段)
  4. S收到这个请求后,就会给Response,响应格式:状态行(协议版本号+错误成功码+MIME信息)。(响应行 + 响应实体+ 响应首部字段)
  5. C收到S的信息后,显示,然后断开连接。

三.HTTPS请求过程

       https请求是一次握手其过程是:

          1.C发送HTTPS请求

          2.服务端进行处理,服务端有一套数字证书,其本质就是私钥和公钥,公钥用来给C加密使用,私钥用来解密。

          3.发送证书给客户端,发送公钥。

          4.客户端收到公钥,验证其有效性,有效会生成一个随机值,用证书对这个对这个随机值机型加密。

          5.将加密后的随机值传送给服务端,以后C和S通信用这个随机值加密。

         6.服务端收到客户端发送的加密随机值后,然后把要传的内容通过这个随机值进行对称加密。

         7.服务端将用随机值进行加密的信息传送给客户端。

         8.客户端解密这个信息获取内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值