一、HTTP与HTTPS介绍

HTTP是超文本传输协议,全称“Hyper Text Transfer Protocol”,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

二、HTTP工作原理图

状态解释:

500 Internal Server Error  服务器内部错误,无法完成请求
505 HTTP Version not supported  服务器不支持请求的HTTP协议的版本,无法完成处理
414 Request-URI Too Large   请求的URI过长(URI通常为网址),服务器无法处理
400 Bad Request 客户端请求的语法错误,服务器无法理解
404 Not Found   服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
301 Moved Permanently   永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302 Found   临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI405 Method Not Allowed  客户端请求中的方法被禁止
200 ok  请求成功。图中没显示来。

Copy

三、HTTPS工作原理图

四、HTTP与HTTPS区别

1. https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。

2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。

3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4. http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

五、HTTPS的缺点

HTTPS的优点就是安全,没什么可说的,虽然说HTTPS有很大的优势,但其相对来说,还是存在不足之处的:

(1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;

(2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;

(3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

(4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。

(5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

实践中建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,这样可以自动匹配http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即使https的。

六、SSL与TLS

历史

1994年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1.0版,但是未发布。

1995年,NetScape公司发布SSL 2.0版,很快发现有严重漏洞。

1996年,SSL 3.0版问世,得到大规模应用。

1999年,互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版。

2006年和2008年,TLS进行了两次升级,分别为TLS 1.1版和TLS 1.2版。最新的变动是2011年TLS 1.2的修订版,在2018年也发布了TLS1.3版本。

TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。

介绍

SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。

TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。

目前应用的最广泛的 TLS 是 1.2,而之前的协议(TLS1.1/1.0、SSLv3/v2)都已经被认为是不安全的了。

SSL与TLS的关系

TLS是SSL 3.0的后续版本。在TLS与SSL3.0之间存在着显著的差别,主要是它们所支持的加密算法不同,所以TLS与SSL3.0不能互操作。

SSL是Netscape开发的专门用户保护Web通讯的,目前版本为3.0。最新版本的TLS(Transport Layer Security,传输层安全协议)是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议。最新版本的TLS 1.0,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。两者差别极小,可以理解为SSL 3.1。

SSL与TLS的功能:

  1. 在互联网上传输加密过的资料以达到防窃取的目的。

  1. 保持从端点A到端点B的传送路途中资料的完整性。

  1. 透过SSL证书内的公共金钥加密资料传输至服务器端,服务器端用私密金钥解密来证明自己的身份。

七、HTTPS优化

我们知道Https比Http慢的原因在于tcp三次握手之后,还有TLS握手,可以通过简化这部分的握手来优化。

TCP三次握手和TLS握手流程图

大致图:

详细图:

优化点

利用session id,当我们第一次连接之后,客户端会生成session id,当下一次客户端再次和服务端连接的时候,通过携带的session id如果在服务端可以找到,那么就认为客户端是可信赖的。

利用session ticket,也在客户端连接的时候会附带上,当再次连接的时候,直接解密session ticket,如果解密成功,则认为是可信赖,直接进行数据传输。

对于分布式系统,当在一个服务器生成的session id,把它同步到其他服务器,那么当客户端连接其他服务器的时候,直接可以通过这个id判断是否可信赖。

利用tcp连接优化,前面介绍tcp三次握手的时候,数据域没有携带数据的,那么可以在tcp三次握手的时候,就携带数据,减少握手次数。

证书验证优化,TLS握手过程中,客户端需要验证证书的有效性,这一部分可以直接通过服务器验证,将结果缓存,将验证结果返回给客户端,客户端在本地校验结果是否真实。

原文链接: https://blog.csdn.net/qq_35745940/article/details/118423532

HTTP与HTTPS协议介绍相关推荐

  1. HTTPS协议与TLS协议

    HTTPS协议介绍 HTTPS作为一种安全的HTTP数据传输协议,被广泛应用于万维网上信息的通信.目前绝大部分网站都采用HTTPS协议进行传输信息. HTTPS协议与TLS协议 HTTP协议主要用于服 ...

  2. web专题 HTTP介绍和HTTPS协议区别,以及http版本特性

    HTTP协议 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工 ...

  3. 常用开源协议介绍以及开源软件规范列表

    1. 开源协议介绍 GPL: General Public License,开源项目最常用的许可证,衍生代码的分发需开源并且也要遵守此协议.该协议也有很多变种,不同变种要求会略微不同. MPL: MP ...

  4. 大型网站的 HTTPS 实践(1):HTTPS 协议和原理

    转自:http://op.baidu.com/2015/04/https-s01a01/ 1 前言 百度已经于近日上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS.本文重 ...

  5. 02.Python网络爬虫第二弹《http和https协议》

    一.HTTP协议 1.官方概念: HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文 ...

  6. 如何将网站升级为HTTPS协议?

    基本概念: HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准,用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少. HT ...

  7. open source license主流的开源软件协议介绍

    open source license主流的开源软件协议介绍(20190222) 文章目录: 一.开源软件的直观介绍 二.常用开源协议介绍 三.常用开源协议之间的对比 当Adobe.Microsoft ...

  8. VRRP协议介绍--转

    http://www.cnblogs.com/jony413/articles/2697404.html VRRP协议介绍 参考资料: RFC 3768 1. 前言 VRRP(Virtual Rout ...

  9. HTTPS协议原理分析

    HTTPS协议原理分析 HTTPS协议需要解决的问题 HTTPS作为安全协议而诞生,那么就不得不面对以下两大安全问题: 身份验证 确保通信双方身份的真实性.直白一些,A希望与B通信,A如何确认B的身份 ...

最新文章

  1. lpi linux认证权威指南 pdf,LPI Linux认证指南读书笔记
  2. JavaScript 开发者最期待的年度大会,惊喜不断,错过还要等好久!
  3. ROS调用本地摄像头数据并在rviz里显示
  4. git stash 个人理解
  5. SaltStack实战之配置管理-Jinja2模板
  6. adams求微分方程c语言,ADAMS在求解微分方程组中的应用
  7. 安卓移植和驱动开发第八章心得体会
  8. Visual Studio各个版本对应关系
  9. Opencv ---像素坐标转世界坐标(已知外参)
  10. Windows 运行... 可执行的命令
  11. linux vim命令跳到67行,Linux学习之Vim/Vi使用(十三)
  12. 腾讯二面:@Bean 与 @Component 用在同一个类上,会怎么样?
  13. 关于VBScript的运行环境
  14. CVPR 2020-FaceShifter:能够应对脸部遮挡的高保真换脸方法
  15. WPF中TextBlock文本换行与行间距
  16. 【ajax】6.IE缓存问题解决
  17. 公众号和订阅号的区别
  18. aptana安装python库_使用Aptana搭建Python开发环境
  19. JQuery中 JSON 兼容性问题(针对ie8)
  20. 几种漂亮边框制作教程

热门文章

  1. E63软件测试大乐,诺基亚e63有哪些功能?测评如何?
  2. cloud探索 - ASW基础知识
  3. 厌倦了大众字体?你可以用这个项目自创一款手写体
  4. 二维码 生成工具类(文件转Base64字符串,Base64字符串转文件)
  5. oracle 本地ocr,1.Oracle OCR/OLR管理
  6. VisionPro中分享CogPMAlignTool图像匹配工具的使用详解_史上最全
  7. 网络安全-SSRF漏洞原理、攻击与防御
  8. 叶胜超区块链:Aelf(ELF)---去中心化的云计算区块链网络!
  9. 答复: 三只大老虎和三只小老虎过河
  10. ITK:3D欧拉变换:itkEuler3DTransform.h