HTTP/2.0协议详解

前言

HTTP/2.0:互联网通信的革新标准
随着互联网技术的飞速发展,HTTP协议作为互联网应用最广泛的通信协议,也在不断演进和优化。HTTP/2.0是HTTP协议的最新版本,它旨在提供更高效、更安全、更快速的互联网连接。

在这里插入图片描述

一、HTTP/2.0的优势

  • 性能提升 :HTTP/2.0采用了二进制传输数据,而非之前的文本格式,大大提高了传输效率。同时,它还引入了流控制和帧压缩等机制,进一步提升了数据传输的性能。
  • 更好的并发性 :HTTP/2.0支持并发请求,这意味着服务器可以同时处理多个请求,提高了应用的响应速度和效率。
  • 安全性增强 :HTTP/2.0采用了TLS 1.2或更高版本的加密协议,提供了更强的安全性保护,有效防止了中间人攻击。

在这里插入图片描述

二、HTTP/2.0的主要特性

  • 二进制协议 :HTTP/2.0采用了二进制格式,而非文本格式,有效地减少了数据传输量。同时,二进制格式也不易出错,提高了数据传输的可靠性。
  • 帧(Frame) :HTTP/2.0将数据传输划分为小的帧,每个帧都包含帧头和帧载荷。帧头包含帧类型、流标识符和优先级等信息。
  • 流(Stream) :HTTP/2.0中的流是双向的通信通道,可以用于请求和响应数据的传输。每个流都有一个唯一的标识符,可以用于区分不同的数据流。
  • 消息(Message) :HTTP/2.0中的消息是由一个或多个帧组成的逻辑单元,可以是一个请求或响应。
  • 头消息压缩(Header Compression) :HTTP/2.0采用了头压缩技术,通过使用字典来压缩请求和响应头信息,从而减少数据传输量。
  • 多路复用(Multiplexing) :HTTP/2.0支持多个请求和响应在同一个连接上同时进行,这称为多路复用。通过使用不同的流标识符,可以区分不同的数据流。
  • 服务器推送(Server Push) :HTTP/2.0引入了服务器推送机制,服务器可以在客户端请求之前主动向客户端推送数据。这可以提高客户端的响应速度。
  • 流量控制(Flow Control) :HTTP/2.0引入了流量控制机制,以防止客户端或服务器端接收数据过快而无法处理的情况。通过使用流控制窗口和流控制令牌等机制,可以实现流量控制。
    这些新定义和术语是HTTP/2.0协议的重要组成部分,有助于实现更高效、更快速和更安全的Web通信。

在这里插入图片描述

三、HTTP/2.0的应用场景

  • 网页浏览 :HTTP/2.0可以显著提高网页的加载速度和响应性能,使用户能够更快地浏览网页内容。
  • 移动应用 :移动设备通常具有有限的网络资源和处理能力,而HTTP/2.0的高效性和并发性可以在移动应用中发挥出更大的优势。
  • 云服务 :云服务通常需要处理大量的网络请求,而HTTP/2.0的高效性和并发性可以有效地提高云服务的性能和响应速度。
  • 实时通信:实时通信应用需要快速地传输大量数据,而HTTP/2.0可以提供更快的传输速度和更好的并发性,适用于实时通信应用。

总之,HTTP/2.0作为互联网通信的革新标准,具有显著的性能优势和更好的并发性,为互联网应用提供了更快、更安全、更高效的连接方式。随着越来越多的应用开始采用HTTP/2.0协议,我们可以预见其在未来的互联网发展中将发挥越来越重要的作用。

在这里插入图片描述

四、HTTP 1.1的区别

HTTP/2.0与HTTP 1.1相比,主要区别体现在以下几个方面:

  • 传输格式 :HTTP/2.0采用了二进制格式传输数据,而HTTP 1.1使用的是文本格式。二进制格式在协议的解析和优化扩展上带来了更多的优势和可能。
  • 并发处理 :HTTP/2.0支持并发请求,即服务器可以同时处理多个请求,这使得应用能够更高效地利用网络资源。相比之下,HTTP 1.1是顺序且阻塞的,即每个请求都需要等待前一个请求完成后才能处理,这在一定程度上限制了并发处理的能力。
  • 消息头压缩 :HTTP/2.0采用了头消息压缩机制,能够节省消息头占用的网络流量。而在HTTP 1.1中,每次请求都需要携带大量的冗余头信息,这会浪费不少带宽资源。
  • 服务器推送 :HTTP/2.0引入了服务器推送(Server Push)机制,这意味着服务器可以在客户端请求之前,主动向客户端推送数据。这有效地减少了客户端的等待时间,提高了应用的响应速度。
  • 与HTTP 1.1的兼容性 :HTTP/2.0保持了与HTTP 1.1语义的向后兼容性,这意味着现有的使用HTTP 1.1的应用程序可以无需任何修改就能与HTTP/2.0进行通信。
    总的来说,HTTP/2.0在多个方面相对于HTTP 1.1有了显著的提升,极大地提高了web性能,同时向下兼容HTTP1.X协议版本。

在这里插入图片描述

五、当前浏览器对HTTP/2.0的适配

当前大部分现代浏览器已经对HTTP/2.0协议进行了适配。例如,Chrome、Opera、Firefox、IE11、Edge等都支持HTTP/2.0协议。服务器方面也有多种选择,包括Nginx、H2O等。
需要注意的是,要使用HTTP/2.0协议,需要将网站升级为HTTPS,因为当前所有支持HTTP/2.0的浏览器都要求必须基于TLS部署。这样做不仅可以提高安全性,还可以利用TLS的加密机制更好地穿透网络中间节点。
总的来说,HTTP/2.0在多个方面相对于HTTP 1.1有了显著的提升,极大地提高了web性能,同时向下兼容HTTP1.X协议版本。

在这里插入图片描述

六、Java中如何使用HTTP/2.0

Java中可以使用HttpURLConnection类来使用HTTP/2.0协议。
首先,需要将HTTPS连接升级为HTTP/2.0连接。这可以通过在创建HttpURLConnection对象时指定使用HTTP/2.0协议来完成。例如:


URL url = new URL("https://example.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Connection", "Upgrade");
conn.setRequestProperty("Upgrade", "h2c");

在上面的代码中,我们通过设置请求头信息"Connection"和"Upgrade"来告诉服务器我们希望升级到HTTP/2.0协议。然后,我们设置请求头信息"Upgrade"为"h2c",以告诉服务器我们希望使用HTTP/2.0协议进行通信。
一旦连接升级为HTTP/2.0协议,就可以使用HttpURLConnection类进行正常的HTTP请求了。例如:


BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
    System.out.println(line);
}
reader.close();

在上面的代码中,我们通过调用HttpURLConnection对象的getInputStream()方法来获取服务器的响应,并将其读取到一个BufferedReader对象中。然后,我们逐行读取响应内容并输出到控制台。
需要注意的是,在使用HTTP/2.0协议时,需要确保服务器已经支持HTTP/2.0协议,否则连接将无法升级为HTTP/2.0协议。


  • 41
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论
服务器安全技术详解 技术创新,变革未来 IT 服务器安全技术详解全文共12页,当前为第1页。 目录 content 1 2 服务器安全防护 服务器认证与合作 11 5 服务器安全技术详解全文共12页,当前为第2页。 服务器威胁识别与应对 主要威胁 涉及部件 威胁消减措施 信息泄露 BMC/BIOS 升级包加密/Flash写保护 BMC/BIOS 数据加密 BMC/BIOS 安全协议 权限提升 BMC CLP封装 BMC 权限控制 仿冒 BMC 安全协议 BMC 认证增强 数据篡改 BIOS Flash写保护 BMC CLP封装 恶意代码执行 BMC/BIOS 可信计算 BMC/BIOS 升级包校验 操作系统/虚拟化平台 应用程序 / 虚拟机 硬件 BIOS 业务数据 管理监控数据 管理软件(BMC) 硬件 嵌入式操作系统 业务平面 管理平面 11 6 服务器安全技术详解全文共12页,当前为第3页。 信息泄露威胁消减措施(1/2):协议安全 基础安全强制规范 WEB安全开发规范 Apache加固规范 OS系统加固规范 安全加固规范 我们禁用 我们选择 Telnet(明文传输) SSH(加密传输) FTP(明文传输) SFTP(加密传输) IPMI1.5(明文传输) IPMI2.0(加密传输) SNMP V1/V2C(明文传输、弱身份认证) SNMP V3(加密传输、强身份认证) HTTP(明文传输、无服务端身份认证) LDAP(明文传输、无服务端身份认证) HTTPS(加密传输、服务端证书验证) LDAPS(加密传输、服务端证书验证) 公司网络安全能力中心及时跟踪研究业界最新安全动态,持续完善协议安全加固规范; 按照安全加固规范要求,禁用不安全通信协议,支持安全协议及安全配置; 选择业界公认的安全通信协议 11 7 服务器安全技术详解全文共12页,当前为第4页。 信息泄露威胁消减措施(2/2):算法安全 KVM Over IP 支持管理通道加密 安全基础要求 密码应用规范 密钥管理规范 加密算法规范 选择业界公认的安全加密算法 我们禁用 我们选择 DES/3DES(现有的暴力破解设备 能在一天以内完成破解) AES128/AES192 /AES256 RC2/RC4(算法本身存在漏洞, 可还原加密信息中的纯文) MD2/4/5(可以人为构造出两个 具有相同散列值的数据) SHA256 RSA1024(已有研究机构宣传破 解了本算法) RSA2048 及时跟踪研究业界最新安全动态,制定密码算法应用规范; 禁用不安全加密算法,使用业界公认的安全算法; 11 8 服务器安全技术详解全文共12页,当前为第5页。 权限提升威胁消减措施:范围最小化 系统层安全:OS安全加固,CLP命令封装 Intranet 嵌入式操作系统 Linux 系统层安全:文件权限管理 管理系统 管理软件 BMC 最小权限原则,对300+文件进行了权限控制 关键文件 权限控制 /etc/shadow -rw------- /ssh/sshd_config -rw------- /etc/dhclient.conf -rw------- app_debug_log -rw-r----- /dev/i2c crw------- /dev/ipmb crw------- …… …… 屏蔽linux Shell,命令白名单控制,减少攻击面 11 9 服务器安全技术详解全文共12页,当前为第6页。 信息泄露与篡改威胁消减措施:软件包安全 Support 版本开发 发布包自 动签名 升级包加 密签名 不可信网 络下载 Internet 校验 升级 版本开发:编译时进行加密和签名,确保数据包不能被 恶意用户篡改和反汇编; 版本发布:发布Support环境会自动进行完整性数字签 名; 客户下载:客户下载升级包后可进行签名校验; 版本升级:升级过程中会校验升级包签名。 BMC BIOS BIOS Flash 鉴权+加密通信 账户鉴权 可信升级 运行时 锁定 本地访问:BIOS账户本地鉴权,配置更改记录日志。 BIOS运行时锁定BIOS Flash; 远程访问:BMC对外所有的访问协议都采用高强度加 密通信,访问登录进行鉴权保护。 版本数据安全保护 访问数据安全保护 版软本件发版布本 12 0 客户网下站载 版客本户升级 服务器安全技术详解全文共12页,当前为第7页。 芯片安全加固措施:自研芯片 带外管理芯片(BMC) 所有管理信息的控制入口,实现服务器管理的自主可控 支持多种协议加速,实现服 务器对外接口的自主可控 融合智能网络芯片 华为SSD硬盘芯片自研,可 根据业务需要选择加密算 法,安全可控 SSD控制芯片 核心芯片自研 关键芯片自研,从根源上防止安全漏 洞; 全自研系统软件,
简介   安全是所有Web项目在设计时都要考虑的一个重要因素。无论是选择最短口令,决定何时使用SSL加密HTTP会话,还是通过自动登录cookie来识别用户,都经常要付出重大的设计努力,以保护用户的身份信息和他们可能存放于Web站点的其他资料。糟糕的安全性可能带来公关灾难。当最终用户努力保持对其个人信息的控制时,他们要面临令人迷惑的隐私政策,需要牢记众多站点的不同口令,以及遭遇“钓鱼式攻击”事件。   在宏观层次上,数字身份引起了许多复杂的技术和社会问题,业界一些团体如Liberty Alliance和IdentityGang都正试图通过开发新的技术标准来解决它们。 在较小的规模上,可以使用一些工具来为用户提供更好的安全性。请考虑口令管理问题。用户访问他们保存个人资料的Web站点,在可以存取他们的资料之前必须经过验证。通过验证来鉴别用户,确保他们是所声称的用户。进行验证最简单方式是使用口令。然而,若每个站点都需要各自的一套口令,用户将有难以控制的大量口令。1998年微软首先尝试通过其Passport network提供该问题的全球解决方案。Passport使得任意Web站点使用用户提交给Passport的个人资料(如用户名、地址、信用卡号)成为可能。Passport是单点登录(single sign-on,SSO)的第一次电子商务尝试。它没有流行起来,部分原因是由于人们对系统封闭性的担心。然而,SSO的理念非常引人注目,许多开放标准和商业计划都追随Passport其后。通过SSO,某个Web站点可以与其他站点共享用户身份信息。   SSO对于使用应用服务提供商(Application Service Provider,ASP)软件服务的企业特别有用。ASP在自己的服务器上宿主应用程序,出售其访问权作为服务。公司可以在它的标准目录服务器里管理自己的用户和口令,然后通过SSO授予用户访问ASP应用程序的权限。SSO允许公司管理自己用户的信息,不必为每一员工维护多个用户账号。对用户来说,SSO的好处在于他们可以在多个应用程序中使用一个用户名和口令,并且在应用程序之间切换时无需重新验证。SSO不仅仅用于Web应用程序,它可用于任何类型的应用程序,只要有安全地传送身份信息的协议。这种通信方式的开放标准就是安全性断言标记语言(SAML)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有梦想的攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值