http和https的区别:

http和https的区别:

  • https协议需要申请ca申请证书。
  • http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议。
  • http和https使用的是不同的连接方式用的端口也不一样,http是80,https是443。
  • http连接很简单,是无状态的,https协议是由ssl+http协议构建的可进行加密传输,身份认证的网络协议,比http安全。            


http特点:

  • 支持客户/服务器模式
  • 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。
  • 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
  • 无连接:无连接的含义是限制每次连接只处理一个请求
  • 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力

      http的url组成:请求行,消息报头,请求正文。

                 响应组成:状态行,消息报头,响应正文。



https与web服务器通信步骤:

  • 客户用是https的url访问web服务器,要求与web服务器建立SSL连接。
  • web服务器收到客户端请求后,会将网站的证书信息(包含公钥)传送一份给客户端。
  • 客户端的浏览器与web服务器开始协商SSL连接的安全等级,也就是信息加密等级。
  • 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传给网站。
  • web服务器利用自己的私钥解密出会话的密钥。
  • web服务器利用会话密钥加密与客户端之间的通信。



请求重定向:

       客户端行为,response.sendRedirect(),从本质上讲等同于俩次请求,前一次的请求对象不会保持,地址栏的URL会改变。

请求转发:

         服务器行为,resquestRequestDispatcher().forward(request,response);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变(服务器内部转发,所以地址栏看不到改变)。

例如:
请求重定向:就好比我们找一个A广告公司给设计名片,A明确告诉我们他们不会设计,就让我们找B公司,结果B公司给我设计好了,所以我们会对外宣称是B公司给我们设计的名片,(所以我们就相当于发送了两次次请求,URL地址栏里就从A变成了B公司)

请求转发:同样去找A公司给设计名片,A公司虽然不能设计但是他们接下了我们的活,把这项任务外包(转发)给B公司,最终我们会把钱给A公司,也就会对外宣 称是A公司给我们设计的名片这就是请求重定向(所以我们就相当于只对A发送了一次请求,URL地址栏里依然是A公司)。





猜你喜欢

转载自blog.csdn.net/weixin_39513166/article/details/78695256