老李分享:https协议
老李分享:https协议
最近我们看到很多站点使用 HTTPS 协议提供网页服务。通常情况下我们都是在一些包含机密信息的站点像银行看到 HTTPS 协议。
如果你访问 google,查看一下地址栏,你会看到如下信息
我们可以看到“https" 是绿色高亮显示,并且前面有一个锁标,表明网页请求是通过 https 协议。
HTTPS 是 HTTP 协议的一个版本,在浏览器和服务器之间提供安全的数据传输。
浏览器和服务器是通过 http 协议进行通信,在使用 HTTP 协议时,客户端向服务端提交表单数据时使用的是非加密方式。
所以当浏览器和服务器通信的物理网络被侵入时,入侵者会得到网页浏览器和服务器之间传输的信息。
HTTP 的应用场景是我们不需要使用高安全级别的方法加密数据。但银行这样的应用会发送像信用卡详细信息类的敏感数据,这会产生安全威胁。如果入侵者监视通信信道,他可以轻易获取到底层用户的敏感数据。
HTTPS 保证安全可靠通信
为了避免这样的安全威胁,HTTPS 应运而生。HTTPS 是一个确保数据在 web 浏览器与 web 服务器之间传输安全的协议。
HTTPS 是由 HTTP 协议+SSL 协议构成。SSL 协议通过对信息进行加密,为网络通信提供安全保障。它运用了非对称密钥机制,这种机制是将公钥自由对外分发,而私钥只有信息接收者才有。
HTTPS 对比标准的HTTP协议的两大优势:
它确保了用户访问的是正确的网站,这个网站是他原本打算访问的而不是一些假冒网站。
它确保了web浏览器与web服务器之间通信的内容是加密的,因此入侵者不能得到原始的通信内容。
所以在 HTTPS 中,SSL 起到了确保了数据在客户端和 web 服务端传输安全。
HTTPS 工作流程
为了弄清 HTPPS 协议是怎么工作的,我们首先应该明白加密、解密处理过程是怎么工作的。
加密就是把文本内容转换成其他某种格式,这样他人就无法解析原始内容。
解密就是将之前我们转换的密文再转换回原始内容。
加密和解密过程也可以用密钥去加密和解密信息。因此,如果信息是用某个密钥加密的,那么使用同一个密钥就能解密。这种方式称为对称密钥机制,因为使用的是同一个密钥进行加密和解密。
假如我们用一个密钥加密字符串,另一个密钥来解密字符串,我们就把这个密钥称为非对称密钥。我们把用来加密字符串的密钥称为公钥,而用来解密字符串的密钥称为私钥。
那么现在我们明白了 HTTPS 是用来安全传输 web 服务端与 web 浏览器之间的信息。这就是一个非常好的处理在传输信息的时候使用 HTTPS 协议。
当浏览器用 HTTPS 协议请求一个页面时,下面的过程也会发生:
1.浏览器向 server 发出 https 请求,server 监听 443 端口,这个端口是 web server 用来监听使用了 HTTPS 协议的请求。
2.一旦 web 浏览器与 web 服务器之间成功建立连接,SSL 握手流程就开始了。
在握手流程中,浏览器和服务器会针对数据的加密算法进行协商并答成一致。过程如下:
1. 浏览器向服务器发送一些自身的信息(例如其支持的SSL版本);
2. 服务器响应类似信息,例如通信过程中将要使用的SSL版本;
3. 服务器会向浏览器发送证书,证书中包含了加密数据的公钥,发布者信息,有效期以及服务端唯一标识;
4. 浏览器核实该证书,并发送信息通知服务器证书已验证完成;
5. 浏览器向服务器发送“Change cipher spec”指令:浏览器将对数据进行加密;
6. 服务器向浏览器发送“Change cipher spec”指令,服务端将要对待发送的数据进行加密。
当我们单击chrome中小锁标志,我们就可以看到服务端发送过来的数字证书。
3. 浏览器产生对称的密钥并通过服务器公钥将其加密,随后将加密后的密钥发送到服务器。这个对称的密钥用于在整个会话中进行加密和解密。
我们知道数字证书是用来提供公钥的。有两个关键的术语用来理解数字证书。
X.509 是一个定义数字证书格式的标准,它规定了证书中需要包含哪些信息,例如下面:
版本 指定 X.509 的版本
序列号 唯一的一串数字用以区分证书
证书发布者名称 CA
公钥
CA(Certification authority)表示发布该证书的机构。只有从发布者那里才能获得证书。证书中通常会有发布者的签名用以保证有效性。
转载于:https://www.cnblogs.com/poptest/p/5231645.html
老李分享:https协议相关推荐
- 老李分享:HTTP协议之请求和响应
老李分享:HTTP协议之请求和响应 HTTP请求头详解: GET http://www.foo.com/ HTTP/1.1 GET是请求方式,请求方式有GET/POST http://www.foo. ...
- 老李分享:HTTP协议之协议头
老李分享:HTTP协议之协议头 当我们打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头的内容生成当次请求的内容发送给浏览器.你明白HTTP请求头的具体含意吗 ...
- 四、基于HTTPS协议的12306抢票软件设计与实现--水平DNS并发查询分享
一.基于HTTPS协议的12306抢票软件设计与实现--实现效果 二.基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式 三.基于HTTPS协议的12306抢票软件设计与实现- ...
- 老李分享:Web Services 组件 1
老李分享:Web Services 组件 在过去的几年里,三大主流技术已经成为构成当今 web service 技术的全球标准.接下来我们来讨论一下这些技术. XML-RPC XML-RPC 是在计算 ...
- 老李分享:接口测试之jmeter
老李分享:接口测试之jmeter poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.移动端自动化测试很多人把他仅仅理解成appuim ...
- 老李分享:HTTP session原理及应用 1
老李分享:HTTP session原理及应用 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...
- 老李分享:jvm垃圾回收
老李分享:jvm垃圾回收 1.垃圾收集算法核心思想 java语言建立了垃圾回收机制,用于跟踪正在被使用(引用)的对象和没有被使用(引用)的对象,该机制可以有效防范动态内存分配中可能发生的两个危险:因垃 ...
- 老李分享:系统可用性评估
老李分享:系统可用性评估 移动互联网时代,似乎大家都在强调架构或服务的高可用,那什么是高可用性呢? 首先,我们来了解下什么是系统的可用性(System Usability),即系统服务不中断运行时间占 ...
- 如何将网站升级为HTTPS协议?
基本概念: HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准,用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少. HT ...
最新文章
- 【php】【psr】psr2 编码风格规范
- 集合已修改;可能无法执行枚举操作。
- ViSP安装之Windows系统基于VS2019编译器编译获得VISP动态库
- Appearing and Disappearing consts in C++
- BootStrap学习(2)
- 苹果宣布3月7日召开发布会 预期推iPad 3
- 网络协议,没有想象中那么难
- RabbitMq的工作模式 介绍+测试代码,以及三种Exchange模式介绍.
- 各种好用的开源库。快点进来,包你喜欢~^_^
- 【深度优先搜索】计蒜客:中国象棋
- go语言strings包
- 知识蒸馏 | 知识回顾
- iphone实用配置工具_除了让你买买买,苹果官网还隐藏着这些实用网页工具
- tcpip协议服务器端总结,TCPIP详解-卷一-协议-10.9小结
- TaggedInputSplit cannot be cast to org.apache.hadoop.mapreduce.lib.input.FileSplit
- 广州北大青鸟软件工程师班课程简介
- 研究股票?我们偷偷告诉你一个算法
- excel数字点一下才变为数值的批量快捷操作
- Unexpected exception parsing XML document from class path resource处理
- java mongo replica_mongo 的replica set的集群模式 实现读写分离