老李分享: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表示发布该证书的机构。只有从发布者那里才能获得证书。证书中通常会有发布者的签名用以保证有效性。

时间: 2024-12-09 15:56:08

老李分享:https协议的相关文章

四、基于HTTPS协议的12306抢票软件设计与实现--水平DNS并发查询分享

一.基于HTTPS协议的12306抢票软件设计与实现--实现效果 二.基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式 三.基于HTTPS协议的12306抢票软件设计与实现--垂直查询效果分享 哎,又过春节了,同志们又要抢票回家了,这票卖的可真快啊,瞬间的功夫就没有票了,一票难求啊! 这两天闲着没事,刚好又要抢春节的票了.就把原来写的抢票软件给打开试了一下,发现居然不能查票了.于是就又改了一下. 事实上是改了两下,一是:让原来的程序能够用起来(适应新接口),而是加上了水平

老李分享:Web Services 特性 1

老李分享:Web Services 特性 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. web service 具备以下特殊的行为特征: 基于 XML web service 在数据表示层和数据传输层使用 XML.使用 XML 就避免了和任何网络.操作系统或者平台的绑定.基于 web service 的应用在其核心层面上是高度可互操作行

老李分享:Web Services 组件 1

老李分享:Web Services 组件 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. 在过去的几年里,三大主流技术已经成为构成当今 web service 技术的全球标准.接下来我们来讨论一下这些技术. XML-RPC XML-RPC 是在计算机之间交换信息的最简单的基于 XML 的协议. XML-RPC 是一个简单协议,它使用 XM

老李分享:为何要使用 Web Services

老李分享:为何要使用 Web Services poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200.请访问www.poptest.cn 使用 web service 有以下好处: 把现有的功能公开在网络上 一个 web service 是一套可以使用 HTTP 进行远程调用的代码,也就是说,可以使用 HTTP 请求对其进行激活.web serv

《Apache数据传输加密、证书的制作》——涉及HTTPS协议

首先了解http和https: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议. HTTPS和HTTP的区别: http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议 http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443. HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议 要比http协议安全 HTTPS解决的问题: 1 . 信任主机的问题.

老李分享:webservice是什么?

老李分享:webservice是什么? 前言 Web Services 是 Web 应用出于和其他 Web 应用以交互数据为目的的开放式标准(XML.SOAP.HTTP 等).Web Services 可以将你现有的应用程序转换为 Web 应用程序.通过本系列指南中,您将了解到 Web Services 是什么,为什么和如何使用它们.本系列指南将对那些志在学习 Web Services 基础知识并在实践中进行实施的朋友有所帮助.这是一套介绍 Web Services 概念的基本教程,并不要求读者

老李分享:webservice是什么?1

老李分享:webservice是什么? 前言 Web Services 是 Web 应用出于和其他 Web 应用以交互数据为目的的开放式标准(XML.SOAP.HTTP 等).Web Services 可以将你现有的应用程序转换为 Web 应用程序.通过本系列指南中,您将了解到 Web Services 是什么,为什么和如何使用它们.本系列指南将对那些志在学习 Web Services 基础知识并在实践中进行实施的朋友有所帮助.这是一套介绍 Web Services 概念的基本教程,并不要求读者

老李分享:loadrunner 的86401错误

老李分享:loadrunner 的86401错误 系统和软件配置: os:windows 2003loadruner版本:LoadRunner11loadrunner:协议:SMTP协议并发数:200 问题描述: 失败27个失败信息:error -86401 Failed to connceted xxx.xxx.xxx.xxx:25 分析过程:固定失败27,排除服务器错误怀疑是客户端自己的问题(虽然正常的几台负载机和有问题的负载机,硬件配置,软件版本都一样,但有问题的一直有问题,正常的一直正常

老李分享:loadrunner的java user脚本开发

老李分享:loadrunner的java user脚本开发 poptest在性能测试loadrunner的课程里,以web协议为主,同时也讲解其他协议的脚本开发,对于一个性能测试工程师需要掌握一个以上的协议,在这里大家可以看看javauser的脚本开发环境如何搭建. 有对java比较熟悉的朋友,完全可以直接调用javauser来解析协议报文,处理逻辑请求. 脚本开发环境: loadrunner11.0 jdk1.6.32_x86_32 脚本开发 1.选择JavaVuser协议 2.配置java环