https,http和ssl这三者是什么关系呢?

http是超文本传输协议,浏览器利用这一协议就可以访问各种网站了。

ssl指Secure Sockets Layer 安全套接层,是一种保证网络数据传输安全和完整的安全协议。

https是在http规则的基础上又加了一层加密协议的超文本传输协议,s 指代 Secure Socket Layer 安全套接字层,

http传数据大致是这样的:         http协议封装好的数据包  ->  tcp/ip   ->  服务器    ,   缺点:数据包中途可能被窃取或者被篡改

https大致流程是这样  :           http协议封装好的数据包  + ssl加密   ->  tcp/ip   ->  服务器     缺点:虽然安全,但是开销变大了,传输速度也变慢了。

如果把http传输比喻成一个数据管道的话,ssl就是这个管道的特殊防护层,这个ssl不仅可以保护http传输,也可以用在其他数据加密传输.

https又是怎么保证数据的加密传输的呢?

首先再正式发送数据前,浏览器如果发现是https传输要进行必要的准备工作才开始发送,大致分为以下几步。

1, 浏览器把协议版本号,支持的加密算法 生成的随机数A发送给服务器。

2, 服务器接到客户端发送过来的加密算法后,查看自身支持的加密算法,确定双方后边使用哪种加密算法,然后把该算法和数字证书以及生成的随机数B发给客户端。

3, 客户端接到服务器发送过来的证数后,得到证书里的非对称加密的公钥D,然后又生成一个随机数C,把C和D加密后得到的一个字符串E发给服务器。

4, 服务器接到这个字符串E后,用自身的私钥解密得到C,这样服务器就集齐了 A,B,C,然后利用ABC生成对话加密密钥 , 因为客户端也得到了A,B,C 这样双方都能进行加密解密了,至于加密解密的算法就是前面双方交换加密方法表时约定的加密算法。

所以可以看出ABC中,只有C是极难被别人得到的,这样保证了安全性,同时这个过程前面用到了非对称加密,一旦加密密钥确定,后面其实用的都是对称加密了。

https,http和ssl的关系的更多相关文章

  1. TLS与SSL之间关系——SSL已经被IEFT组织废弃,你可以简单认为TLS是SSL的加强版

    TLS与SSL之间关系 原文地址:SSL vs. TLS - What's the Difference? from:https://juejin.im/post/5b213a0ae51d4506d4 ...

  2. https 自签名SSL证书

    介绍 TLS或称传输层安全性,及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议. 使用这种技术,服务器可以在服务器和客户端之间安全地发送流量,而不会被外部各方拦截 ...

  3. 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt

    让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt 为什么要用HTTPS  网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可 ...

  4. 配置Tomcat使用https协议(配置SSL协议)

    配置Tomcat使用https协议(配置SSL协议) 2014-01-20 16:38 58915人阅读 评论(3) 收藏 举报 转载地址:http://ln-ydc.iteye.com/blog/1 ...

  5. Requests对HTTPS请求验证SSL证书

    SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发.该安全协议主 ...

  6. http跳转https方法:百度云如何让http自动跳转到https【免费SSL证书使用FAQ】

    之前的一篇文章已经给大家提供了免费SSL证书的申请方法,这一篇文章是告诉大家在使用免费的SSL证书时可能会遇到的问题[怎么让http自动跳转到https以及http与https同时使用]的解决方法. ...

  7. 各种HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇总

    各种HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇总 一份常见的 HTTPS 站点使用的证书和数据加密技术列表,便于需要时比较参考,将持续加入新的 HTTP 站点,这里给出的信 ...

  8. requests发送HTTPS请求(处理SSL证书验证)

    1.SSL是什么,为什么发送HTTPS请求时需要证书验证? 1.1 SSL:安全套接字层.是为了解决HTTP协议是明文,避免传输的数据被窃取,篡改,劫持等. 1.2 TSL:Transport Lay ...

  9. https证书/即SSL数字证书申请途径和流程

    国际CA机构GlobalSign中国 数字证书颁发中心网站:http://cn.globalsign.com    https证书即SSL数字证书,是广泛用 于网站通讯加密传输的解决方案,是提供通信保 ...

随机推荐

  1. windows下装LINUX后,进不了系统

    在网上找了一款叫"DisckGenius"的软件,运行后选“硬盘”/“重建主引导记录(MBR)”,然后重启,就正常了. 还有系统盘最好是FAT32格式的.

  2. java锁分析

    import java.util.concurrent.TimeUnit; class Phone//Phone.java ---> Phone.class Class.forName(); { ...

  3. java异常继承何类,运行时异常与一般异常的区别

    一.基本概念 Throwable是所有异常的根,java.lang.ThrowableError是错误,java.lang.ErrorException是异常,java.lang.Exception ...

  4. JAVA API about HTTP 2

    import java.io.IOException; import java.nio.charset.Charset; import java.security.KeyManagementExcep ...

  5. Spark运行架构设计

  6. Ansible实现批量无密码登录

    如果机器多,假如有一百台服务器,每台服务器登录前都得先输入yes,使用交互式的方式下发公钥的话就很麻烦(ssh-copy-id). 第一次操作需要通过密码来操作服务器,所以配置文件需要把密码配置好 a ...

  7. 【学术篇】SPOJ QTREE 树链剖分

    发现链剖这东西好久不写想一遍写对是有难度的.. 果然是熟能生巧吧.. WC的dalao们都回来了 然后就用WC的毒瘤题荼毒了我们一波, 本来想打个T1 44分暴力 然后好像是特判写挂了还是怎么的就只能 ...

  8. 【JZOJ6388】小w的作业

    description analysis 二分一个角度,首先假设该弧度角\(\theta \in[{\pi \over 2},\pi]\),要找的直线斜率\(k\in(-∞,\tan\theta]\) ...

  9. 校园商铺-4店铺注册功能模块-1Dao层之更新店铺

    dao层增加更新店铺的方法 package com.csj2018.o2o.dao; import com.csj2018.o2o.entity.Shop; public interface Shop ...

  10. C++ SOCKET 基础编程

    { http://c.biancheng.net/socket/ }