`
zjm16
  • 浏览: 71050 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
文章分类
社区版块
存档分类
最新评论
阅读更多
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. 加密后数据量的影响. 所以,才会出现那么多的安全认证提示

分享到:
评论

相关推荐

    使用httpclient方式和RestTemplate方式调用http及https接口

    在Java开发中,调用HTTP和HTTPS接口是常见的任务,主要目的是与远程服务进行数据交互。本主题将深入探讨如何使用HttpClient和Spring的RestTemplate工具来实现这一目标。这两种方法都是可靠的,但在不同场景下各有优...

    格式转换工具osgb格式转obj osg转osgb osgb转ive ive转obj 互转工具

    本文将详细解析“osgb格式转obj,osg转osgb,osgb转ive,ive转obj”等相关知识点,以及如何使用相应的互转工具。 1. osgb格式: OSGB(Open Scene Graph Binary)是一种基于Open Scene Graph (OSG) 的二进制文件...

    http_https-导出.pdf

    #### 二、HTTP与HTTPS的区别 1. **数据传输方式**: - **HTTP**:采用明文传输数据,意味着数据在传输过程中是可读的,这种传输方式适合传输非敏感信息。 - **HTTPS**:利用SSL/TLS加密算法对数据进行加密,确保...

    http-->https后端Java接口spring boot项目配置文件及生成证书的方法.7z

    首先,让我们了解一下HTTP和HTTPS的区别。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它允许用户从万维网服务器传输超文本文件。然而,HTTP协议的数据传输是明文的,存在被中间人攻击的风险。而...

    http相关资料.rar_http post_https POST_http相关资料_post https

    文档"**F4get与post.docx**"可能会详细讲解GET和POST的区别,包括它们在处理数据量、安全性、可缓存性等方面的差异,以及何时选择使用GET或POST。 "**F5HTTP.docx**"则可能全面介绍HTTP协议的各个方面,包括但不...

    转 String,CString,TCHAR,char之间区别和联系

    ### 字符类型与字符串类之间的区别和联系 在C++编程中,特别是在Windows应用程序开发过程中,经常遇到多种字符类型及字符串类的选择与转换问题。本文将深入探讨`char`、`TCHAR`、`CString`以及`std::string`之间的...

    UTF8与ansi string转换处理(DELPHI7开发)

    DELPHI7的开发者需要理解这两种编码的区别,并掌握如何利用工具或自定义代码来实现转换,以确保程序能正确地处理各种语言的文本。通过DLL的方式,可以创建一个通用的解决方案,使得不同语言的程序能够共享这个功能,...

    HTML转chm工具

    一、HTML与CHM的区别 HTML(HyperText Markup Language)是一种用于创建网页的标准标记语言,它的特点是结构化和可扩展性,支持超链接,可以在Web浏览器中显示。而CHM格式则是一种压缩的、离线版的HTML文档集合,...

    16位转浮点型float,MODBUS 32位转浮点型float 64位转双浮点型double

    首先,我们要理解二进制、16进制与浮点数的关系。计算机内部存储数字都是以二进制形式,而16进制是人类更易读的一种表示方式,1个16进制数可以表示4位二进制数。浮点数则是一种能够表示小数的数字格式,它由一个符号...

    PB中全角与半角互转函数

    ### PB中全角与半角互转函数 #### 背景介绍 在处理文本数据时,经常会遇到全角字符和半角字符的转换需求。全角和半角字符主要区别在于显示宽度不同:全角字符占用两个半角字符的空间。这种特性在东亚语言(如中文、...

    实现protobuf与json的互转

    2. **protobuf与JSON的区别**:protobuf的数据存储方式比JSON更紧凑,适合网络传输和存储,因为它对数据进行二进制编码;而JSON是文本格式,易于阅读和编写,但占用空间较大。JSON的可读性使得它在调试和API交互中...

    对php 判断http还是https,以及获得当前url的方法详解

    首先,我们要明白HTTP和HTTPS的主要区别。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器。而HTTPS(安全超文本传输协议)是在HTTP的基础上加入了SSL/TLS...

    易语言字节集与字节数组快速互转

    本文将深入探讨易语言中的字节集(ByteSet)与字节数组(ByteArray)之间的快速互转,以及相关的源码实现和应用。 字节集是易语言中用于存储一系列字节的数据类型,它通常用于处理二进制数据,如读写文件、网络通信...

    ost转换pst软件.zip

    在IT领域,Exchange OST( Offline Storage Table)和PST(Personal Storage Table)是两种与Microsoft Outlook和Exchange Server紧密相关的文件格式。了解这两种格式及其转换的重要性是至关重要的,特别是在管理和...

    Mysql转oracle工具

    此外,存储过程、触发器和函数的语法也有区别。 2. **数据类型转换**: 两个系统中的数据类型存在差异。例如,MySQL的`VARCHAR2`对应Oracle的`VARCHAR2`,但MySQL的`TINYINT`在Oracle中可能是`NUMBER(3)`,`BLOB`...

    整形数组与字符数组相互转换

    首先,我们要理解这两种数组类型的区别。整形数组存储整数值,如int,通常用于计算和逻辑操作。而字符数组,即无符号字符数组(uchar array),通常用来表示文本数据或者二进制数据,如图像或音频流。在C/C++中,...

    USB转232,USB转485驱动

    USB转232和USB转485驱动是计算机与串行通信设备间进行数据传输的重要工具。在本文中,我们将深入探讨这两种转换器的工作原理、应用领域以及相关的驱动程序。 USB转232驱动主要涉及到的是USB到RS-232串行通信的转换...

    地理经纬度弧度角度转换

    一、弧度与角度的基本概念 1. 弧度:弧度是长度单位,定义为当圆的半径长度等于弧长时,该弧所对的圆心角的大小。1弧度对应的角度大约是57.2958°。弧度是数学中常用的测量角的单位,特别是在三角函数和微积分中。 ...

    txt_bin.rar_.txt改成.bin_bin转换_文本转换 bin_转换 bin_转换 bin

    首先,我们要理解`.txt`和`.bin`文件的区别。`.txt`文件是文本文件,通常包含可读的字符,使用ASCII或Unicode编码。它们用于存储文本数据,如文档、代码、日志等。而`.bin`文件是二进制文件,它可能包含任何类型的...

    Wii游戏ISO转WBFS教程 ISO怎么转WBFS

    这种格式优化了存储空间,因为与ISO相比,它去除了光盘上的空白区域,从而在硬盘上占用更少的空间,这对于拥有Wii破解硬盘的用户来说尤其有利。 描述中提到的“将旧版本的格式改为新版本”,这里的新版本是指WBFS...

Global site tag (gtag.js) - Google Analytics