HTTPS和HTTP的主要区别 HTTPS有什么缺点 如何优化HTTPS的速度

HTTP与HTTPS介绍
        超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL/TLS协议,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

  HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全

  HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

HTTPS和HTTP的主要区别 

1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

客户端在使用HTTPS方式与Web服务器通信时的步骤

 

(1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

 (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

 (3)客户端的浏览器与Web服务器开始协商SSL/TLS连接的安全等级,也就是信息加密的等级。

 (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

 (5)Web服务器利用自己的私钥解密出会话密钥。

 (6)Web服务器利用会话密钥加密与客户端之间的通信。

尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,但他大幅增加了中间人攻击的成本

HTTPS的缺点 

 虽然说HTTPS有很大的优势,但其相对来说,还是存在不足之处的:

  (1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;

  (2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;

  (3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

     (4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。

  (5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。

最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

实践中建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,这样可以自动匹配http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即是https的

如何优化HTTPS的速度

HSTS重定向技术

HSTS(HTTP Strict Transport Security)技术,启用HSTS后,将保证浏览器始终连接到网站的 HTTPS 加密版本。

1. 用户在浏览器里输入 HTTP 协议进行访问时,浏览器会自动将 HTTP 转换为 HTTPS 进行访问,确保用户访问安全;

2. 省去301跳转的出现,缩短访问时间;

3. 能阻止基于 SSL Strip 的中间人攻击,万一证书有错误,则显示错误,用户不能回避警告,从而能够更加有效安全的保障用户的访问。

TLS握手优化

在传输应用数据之前,客户端必须与服务端协商密钥、加密算法等信息,服务端还要把自己的证书发给客户端表明其身份,这些环节构成 TLS 握手过程。

        采用 False Start (抢先开始)技术,浏览器在与服务器完成 TLS 握手前,就开始发送请求数据,服务器在收到这些数据后,完成 TLS 握手的同时,开始发送响应数据。

        开启 False Start 功能后,数据传输时间将进一步缩短。

原文地址:https://www.cnblogs.com/ssldun/p/11022873.html

时间: 2024-10-13 13:35:32

HTTPS和HTTP的主要区别 HTTPS有什么缺点 如何优化HTTPS的速度的相关文章

https认证证书申请步骤 、https和http的主要区别 HTTPS认证申请证书

随着国内搜索引擎巨头百度启用全站https加密服务,全国掀起了网站https加密浪潮.越来越多的站点希望通过部署https证书来解决"第三方"对用户隐私的嗅探和劫持.因此,https加密链接作为互联网站点应用必然趋势,申请证书加密也变得刻不容缓,那么站长们该如何申请https证书呢?下面SSL盾小编为大家详细讲解. HTTPS证书申请 https和http的主要区别: 一.https协议需要到ca机构申请ssl证书(如Gworg),另外Gworg还提供2年续费HTTPS增加3个月,提供

HTTPS的证书未经权威机构认证的情况下,访问HTTPS站点的两种方法

注意一下文章中提到的jsse在jdk1.4以后已经集成了,不必纠结. 摘 要 JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易地编程实现对HTTPS站点的访问.但是,如果该站点的证书未经权威机构的验证,JSSE将拒绝信任该证书从而不能访问HTTPS站点.本文在简要介绍JSSE的基础上提出了两种解决该问题的方法. 引言 过去的十几年,网络上已经积累了大量的Web应用.如今,无论是整合原有的Web应用系统,还是进行新的Web开发,都要求通过编程来访问某些Web页面.传统的方法是使

【面试精选】- https和http的主要区别

HTTPS和HTTP的区别主要如下: 1.https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用. 2.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议. 3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443. 4.http的连接很简单,是无状态的:HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 以下是具体一些分析 一.HTTP和HTTPS的基本概念

https和http的主要区别

HTTPS和HTTP的区别主要如下: 1.https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用. 2.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议. 3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443. 4.http的连接很简单,是无状态的:HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 以下是具体一些分析 一.HTTP和HTTPS的基本概念

nginx1.10.3一键安装/系统内核优化/配置文件优化/https/日志切割

下面的是一键安装nginx 1.10.3 最新稳定版本,编译参数是官方推荐的. yum groupinstall "Development Tools"   -y yum  install wget   zlib-devel openssl-devel pcre-devel -y cd /usr/local/src wget http://nginx.org/download/nginx-1.10.3.tar.gz tar zxvf nginx-1.10.3.tar.gz cd ngi

如何创建一个https的站点(超简单) 以及 IIS7.5绑定Https域名

1.申请免费1年的ssl证书(传送门:https://common-buy.aliyun.com/?spm=5176.2020520163.cas.29.N0xOPM&commodityCode=cas#/buy).免费证书,只能使用一个域名,不支持主域名下的二级域名,请悉知.不过1个阿里云帐号可以申请20个免费证书,对于普通账户足够了.        2.购买完成后,需要补全信息. 这里填写你要做https的域名 仔细填写,我的域名和ecs都是阿里云的,直接就选择了DNS.邮箱要填仔细了,后面

大型网站的 HTTPS 实践(三)——基于协议和配置的优化

1 前言 上文讲到HTTPS对用户访问速度的影响. 本文就为大家介绍HTTPS在访问速度,计算性能,安全等方面基于协议和配置的优化. 本文最早发表于百度运维部官方博客 2 HTTPS访问速度优化 2.1 Tcp fast open HTTPS和HTTP使用TCP协议进行传输,也就意味着必须通过三次握手建立TCP连接,但一个RTT的时间内只传输一个syn包是不是太浪费?能不能在syn包发出的同时捎上应用层的数据?其实是可以的,这也是tcp fast open的思路,简称TFO.具体原理可以参考rf

HTTPS协议介绍—使用Nginx+SSL实现部署与性能优化

一.HTTPS协议简介 HTTPS 可以认为是 HTTP + TLS.HTTP 协议大家耳熟能详了,目前大部分 WEB 应用和网站都是使用 HTTP 协议传输的. TLS 是传输层加密协议,它的前身是 SSL 协议,最早由 netscape 公司于 1995 年发布,1999 年经过 IETF 讨论和规范后,改名为 TLS.如果没有特别说明,SSL 和 TLS 说的都是同一个协议. HTTP 和 TLS 在协议层的位置以及 TLS 协议的组成如下图: TLS 协议主要有五部分:应用数据层协议,握

MAC配置Charles,过滤筛选抓取https请求(证书安装完毕且设置信任后,https依然为unknown的原因)

MAC安装证书,设置为始终信任 Charles代理信息设置 Charles所在MAC的IP地址查看 手机安装证书 根据下图说明操作 vivo/iphone为例 Android&iphone手机设置代理 ①保证手机同mac连接的同一wifi ②在手机端wifi详情处选择配置代理:手动,IP:mac的IP(即Charles所在MAC的IP地址查看的结果)端口号8888 手机浏览器访问:chls.pro/ssl,下载证书. iphone 在设置——通用——描述文件处安装完毕后,在设置——关于本机——证