HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议
要比http协议安全
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。
HTTPS和HTTP的区别:
https协议需要到ca申请证书,一般免费证书很少,需要交费。
http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议
http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全
HTTPS解决的问题:
1 . 信任主机的问题. 采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书. 改证书只有用于对应的server 的时候,客户度才信任次主机. 所以目前所有的银行系统网站,关键部分应用都是https 的. 客户通过信任该证书,从而信任了该主机. 其实这样做效率很低,但是银行更侧重安全. 这一点对我们没有任何意义,我们的server ,采用的证书不管自己issue 还是从公众的地方issue, 客户端都是自己人,所以我们也就肯定信任该server.
2 . 通讯过程中的数据的泄密和被窜改
1. 一般意义上的https, 就是 server 有一个证书.
a) 主要目的是保证server 就是他声称的server. 这个跟第一点一样.
b) 服务端和客户端之间的所有通讯,都是加密的.
i. 具体讲,是客户端产生一个对称的密钥,通过server 的证书来交换密钥. 一般意义上的握手过程.
ii. 加下来所有的信息往来就都是加密的. 第三方即使截获,也没有任何意义.因为他没有密钥. 当然窜改也就没有什么意义了.
2. 少许对客户端有要求的情况下,会要求客户端也必须有一个证书.
a) 这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码, 还有一个CA 认证过的身份. 应为个人证书一般来说上别人无法模拟的,所有这样能够更深的确认自己的身份.
b) 目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘作为一个备份的载体.
HTTPS 一定是繁琐的.
a) 本来简单的http协议,一个get一个response. 由于https 要还密钥和确认加密算法的需要.单握手就需要6/7 个往返.
i. 任何应用中,过多的round trip 肯定影响性能.
b) 接下来才是具体的http协议,每一次响应或者请求, 都要求客户端和服务端对会话的内容做加密/解密.
i. 尽管对称加密/解密效率比较高,可是仍然要消耗过多的CPU,为此有专门的SSL 芯片. 如果CPU 信能比较低的话,肯定会降低性能,从而不能serve 更多的请求.
ii. 加密后数据量的影响. 所以,才会出现那么多的安全认证提示
相关推荐
CDC与HDC区别与转换,资料详尽,值得下载
3D转换—与2D转换的区别;3D转换—与2D转换的区别;3D转换—与2D转换的区别;3D转换--旋转;3D转换—旋转;3D转换—旋转;3D转换—旋转;3D转换—旋转;3D转换—旋转;3D转换—旋转;3D转换—旋转;3D转换—旋转;3D转换—旋转;...
转 String,CString,TCHAR,char之间区别和联系
HEX BIN 文件区别与转换
数字化转型,你知道数字化与信息化的区别吗?谈谈数字化与信息化的区别。
Java与C/C++的区别(转).
Java与CC的区别转.pdf
unicode与asc码的区别,unicode环境下说的长度为字符个数,而asc环境下为字节。两个转换函数WideCharToMultiByte,MultiByteToWideChar的说明及正确的使用方法。
到此为止所有与http区别的配置就完成了。 录制后,可以在脚本的开始,看到LoadRunner新生成的语句 web_set_certificate_ex("CertFilePath=test01.pem", "CertFormat=PEM", "KeyFilePath=test01.pem", "Key...
oracle与db2的区别和转换。我做过把ORACLE向DB2转换,这个文件帮了我大忙。希望对你有用。内容包括各种函数与存储过程的区别
介绍的很清楚,如果不懂4800与5800计算器区别的你看完就懂了
资产转让与股权转让的税务处理区别分析.docx
Python列表、元组、集合、字典的区别和相互转换 - CSDN博客原 Python列表、元组、集合、字典的区别和相互转换2017年04月28日 11:40:0
在工作生产过程中,我们常常需要在cad及arcgis的shp格式之间进行数据转换,但是由于cad数据和arcgis数据的属性储存方式有着本质上的区别,所以我们很难在不借助其他扩展软件的辅助下进行直接转换。当然,在实际应用...
最近百度旋转很火啊。论坛搜了各种旋转都不太理想。于是就自行研究。研究位图,发现位图...有的人可能不知道这个和位图旋转的区别,附上一个位图原始的旋转效果代码。@糖心疼。Tags:百度旋转识别源码圆形图像旋转。
大地坐标与平面坐标之间的区别与转换.docx
485和232的转换电路和原理 及485和232的区别
介绍从MELSEC-Q系列PLC转换到MELSEC iQ-R系列PLC的方法。 1、本资料是用于让用户了解使用MELSEC iQ-R系列可编程控制器时的必要系统配置、规格、安装、配线、维护点检等有关内容的资料。 2、在使用之前应熟读本资料及...
类型转换 ( Java.util.date与java.sql.date区别和转换
实验五 页式虚拟存储管理中地址转换和页式中断 一、实验目的 深入了解页式存储管理如何实现地址转换;进一步认识页式虚拟存储管理中如何处理缺页中断以及页面置换算法。 二、实验主要内容 编写程序完成页式虚拟存储...