Http和Https的区别及连接过程

  • Http和Https的区别
  1. https协议需要Ca申请证书
  2. http是超文本协议,信息是明文传输,https是安全的ssl加密明文传输
  3. http和https使用的是不同的连接方式,端口也不一样,http是80开头的端口,https是443
  4. http连接简单,访问速度快,https是SSL+http,需要验证及加密的,更加安全,但是访问速度慢
  •  http连接过程

       域名解析——》发起TCP的三次握手——》TCP连接后发起http请求——》服务器响应http请求——》服务器处理后,返回数据给客户端

服务器返回的常见状态代码、状态描述的说明如下。

  1.     200 OK:客户端请求成功。
  2.     301: 永久重定向, Location响应首部的值仍为当前URL,因此为隐藏重定向。
  3.     302: 临时重定向,显式重定向, Location响应首部的值为新的URL。
  4.     304:Not Modified 未修改,比如本地缓存的资源文件和服务器上比较时,发现并没有修改,服务器返回一个304状态码,告诉浏览器,你不用请求该资源,直接使用本地的资源即可。
  5.     400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
  6.     401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。
  7.     403 Forbidden:服务器收到请求,但是拒绝提供服务。
  8.     404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
  9.     500 Internal Server Error:服务器发生不可预期的错误。
  10.     502: Bad Gateway 前面代理服务器联系不到后端的服务器时出现
  11.     503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)。
  12.     504:Gateway Timeout 这个是代理能联系到后端的服务器,但是后端的服务器在规定的时间内没有给代理服务器响应
     
  • https连接过程

                    

   

数字证书如何生成?

服务器端会生成一对公私钥,将公钥和一些相关信息提供给CA机构,CA机构会根据这些信息生成一个数字证书。

一般证书都包含三部分:证书内容,散列算法,加密密文

证书内容包含了:服务器公钥、持证人信息(域名、有效期等)、签名信息

加密密文:证书内容进行散列算法,得出散列值,然后用CA的私钥对散列值进行RSA加密得到的加密密文

 

客户端如何校验证书合法性?

1、客户端会内置一个CA证书,客户端https访问服务器的时候,服务器将返回数字证书,

2、客户端用内置的CA证书对数字证书的加密密文进行RSA解密,得到散列值,然后对证书内容进行同样的算法进行Hash算法,得到另一个散列值,比较两个散列值是否一致

3、检查域名是否一致、证书是否过期

4、客户端生生一个随机数,用证书里的服务器公钥对随机数进行非对称加密,传给服务器,服务器端用私钥进行解密获取到随机数

5、客户端用随机数对报文进行对称加密,发送给服务器,服务器用随机数解密获取报文

 

 

 

 

 

 

 

 

 

 

 

      

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值