全部
常见问题
产品动态
精选推荐

HTTP与HTTPS协议介绍

管理 管理 编辑 删除

一、HTTP与HTTPS介绍

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

HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全
HTTPS协议的主要作用可以分为两种:一种是建立一个
信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

二、HTTP工作原理图

607f320230304100104993.png

状态解释:

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类似。但资源只是临时被移动。客户端应继续使用原有URI
405	Method Not Allowed	客户端请求中的方法被禁止
200 ok  请求成功。图中没显示来。

三、HTTPS工作原理图

150d0202303041002391000.png

四、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. 在互联网上传输加密过的资料以达到防窃取的目的。
  2. 保持从端点A到端点B的传送路途中资料的完整性。
  3. 透过SSL证书内的公共金钥加密资料传输至服务器端,服务器端用私密金钥解密来证明自己的身份。

七、HTTPS优化

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

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

大致图:
33fff202303041003531873.png

详细图:
06d5a20230304100437322.png

优化点

利用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


请登录后查看

CRMEB-慕白寒窗雪 最后编辑于2023-03-04 10:05:27

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
2615
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服