HTTPS安全超文本传输协议
一、什么是HTTPS
简单的理解HTTPS就是使用SSL/TLS加密内容的、安全的HTTP协议
HTTPS = HTTP + SSL/TLS
二、对称加密与非对称加密
对称加密:加密和解密使用同一密钥。简单、快速、效率高
非对称加密:加密解密密钥不同,加密使用公钥、解密使用私钥,私钥只有一人保管,公钥可以有多人知道。安全性更强、但性能消耗比对称加密大
SSL/TLS中同时使用了两种加密方式,建立连接时使用非对称加密传输产生密钥的随机数,链接建立后使用对称加密传输通信内容
三、SSL/TLS握手过程
SSL/TLS的握手过程可以用上图描述
1、客户端向服务端发送Client Hello,产生随机数random1,并说明客户端支持的加密方式和协议版本
2、服务端收到客户端请求后,返回Server Hello,同时携带随机数random2与数字证书,其中公钥在数字证书中一同发送,避免篡改。
3、客户端收到服务端Server Hello后,验证数字证书有效,使用生成随机数random3,并使用公钥加密,发送给服务端
4、服务端使用私钥解密得到random3
5、客户端和服务端根据约定好的加密方式,以及三个随机数生成对话密钥(session key),使用对话密钥加密内容开始双方会话
四、私钥的作用
当使用CDN服务器的时候出于安全考虑不能把密钥交给CDN服务器。
回顾整个握手链接过程,密钥只在解密第三个随机数时使用一次,因此,只需要把这个过程留在自己服务器就可以。CDN服务器把客户端加密的随机数发送给业务服务器,业务服务器将数据解密后传回给CDN服务,其他流程均交给CDN服务
具体流程如下图
五、HTTPS与HTTP不同点
对比内容 | HTTPS | HTTP |
是否付费 | 证书大多数需付费 | 无需 |
传输信息方式 | SSL/TLS协议加密信息,更安全 | 明文传输信息 |
端口 | 443 | 80 |
六、不使用HTTPS有那些风险
1、窃听风险,第三方可能获取通信内容
2、篡改风险,通信内容可能被第三方篡改
3、冒充风险,第三方可能被冒充他人参与通信
七、如何将HTTP站点转成HTTPS站点
HTTPS 升级指南:http://www.ruanyifeng.com/blog/2016/08/migrate-from-http-to-https.html
八、升级HTTPS后需要注意的问题
注意在HTTPS访问的页面,在请求资源时也需要使用HTTPS,如果使用HTTP在IE中会出现不安全项目弹框
可以使用协议相对URL解决这个问题
<img src="https://www.aaa.org/logo.png" alt="" /> <img src="//www.aaa.org/logo.png" alt="" /><!--协议相对URL-->
协议相对URL,如上面代码第二行,即省略URL协议声明的方式,使用了这种方式浏览器会使用页面访问相同的协议请求页面资源
协议相对URL可以使用在HTML中的链接中,也可以使用在css中。但是在IE6/7中link或@import资源会被下载两次,除此以外没有其他问题
使用场景举例
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.js"></script>
<link rel="stylesheet" href="//www.ludou.org/style.css" />
<a href="//www.ludou.org/">Ludou</a>
.logo { background: url(//www.ludou.org/logo.png); }
参考
图解SSL/TLS协议:http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html
与HTTP有什么区别?HTTPS的七个误解:https://www.admin5.com/article/20150523/600106.shtml
网站是否需要HTTPS加密:https://www.admin5.com/special/https/
HTTPS安全超文本传输协议的更多相关文章
- 【RL-TCPnet网络教程】第41章 HTTP超文本传输协议基础知识
第41章 HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...
- 安全超文本传输协议(HTTPS)详解
一.概念与摘要 HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议,是一个安全通信通道,它基于HTTP开发用于在客户计算机和服务器之间交换信息.它使 ...
- HTTPS----安全超文本传输协议
HTTPS协议详解HTTPS以保密为目标研发,简单讲是HTTP的安全版.其安全基础是SSL协议,因此加密的详细内容请看SSL.全称Hypertext Transfer Protocol over Se ...
- http 超文本传输协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接 ...
- HTTP超文本传输协议-HTTP/1.1中文版
摘要 超文本传输协议(HTTP)是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议.它是一种通用的,不分状态(stateless)的协议,除了诸如名称服务和分布对象管理系统之类的超文本用途外 ...
- 超文本传输协议-HTTP/1.1
超文本传输协议-HTTP/1.1(修订版) ---译者:孙超进本协议不限流传发布.版权声明Copyright (C) The Internet Society (1999). All Rights R ...
- HTTP协议(超文本传输协议)
一.HTTP的简介: 超文本传输协议. 它是基于TCP连接的(默认端口号是80).所以在传输数据前客户端需向服务器发送连接请求.当服务器同意连接请求,建立连接后才可以发送数据报文. 二.HTTP的报文 ...
- Hyper Text Transfer Protocol(超文本传输协议)
HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...
- 第9章 应用层(4)_超文本传输协议HTTP
5. 超文本传输协议HTTP 5.1 统一资源定位符URL (1)URL的一般形式:<协议>://<主机>:<端口>/<路径> ①协议后面必须写上“:/ ...
随机推荐
- Linux:LAMP搭建DISCU!论坛
LAMP搭建DISCU!论坛 试验机为centos6.8 i686 应用的包 mysql-5.1.73-linux-i686-glibc23.tar.gz httpd-2.2.24.tar.bz2 p ...
- spinlock变量没有初始化
http://blog.csdn.net/longwang155069/article/details/52224284
- Kafka 单节点单Kafka Broker集群
下载与安装 从 http://www.apache.org/dist/kafka/ 下载最新版本的 kafka,这里使用的是 kafka_2.12-0.10.2.1.tgz $ tar zxvf ka ...
- Swift中的本地化实现
1. 确保localization中添加了多语言2. 添加localisable.strings文件 3.选择这个文件,勾选多语言即可4.打开localisable.strings文件,添加一些测试字 ...
- Android编程 高德地图 AMapLocationClientOption 类中 setWifiActiveScan过时
高德地图中 定位包中有以下方法: AMapLocationClientOption 类中 setWifiActiveScan 过时 isWifiActiveScan public boole ...
- caffe 卷积层的运算
贾清扬寻找快速算法之路:https://github.com/Yangqing/caffe/wiki/Convolution-in-Caffe:-a-memo 卷积运算图文并茂:http://www. ...
- (效果四)jst如何判断对象是否为空?
前言:在实现业务逻辑的过程中,很多工程师都会遇到需要判断一个对象,数组是否为空的情景,很多时候我们在请求数据的时候都需要判断请求的对象数据是否为空,如果直接使用,在数据请求为空时,控制台就会报错.因此 ...
- 程序设计入门-C语言基础知识-翁恺-第二周:简单的计算程序-详细笔记(二)
目录 第二周:判断 2.1 比较 2.2 判断 2.3 课后习题 第二周:判断 2.1 比较 简单的判断语句: if(条件成立){ //执行代码 } 条件 计算两个值之间的关系,所以叫做关系运算 关系 ...
- LOJ2609. NOIP2013 火柴排队 【树状数组】
LOJ2609. NOIP2013 火柴排队 LINK 题目大意: 给你两个数列,定义权值∑i=1(ai−bi)^2 问最少的操作次数,最小化权值 首先需要发现几个性质 最小权值满足任意i,j不存在a ...
- PHP 5.5.38 + mysql 5.0.11 + zabbix3.0 + nginx 安装
PHP 5.5.38 + mysql 5.0.11 + zabbix3.0 + nginx 1.首先在安装好环境下安装 zabbix3.0情况下 2. yum install mysql-devel ...