【计算机网络】HTTP 协议解析

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【1月更文挑战第10天】【计算机网络】HTTP 协议解析

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

版本

产生时间

内容

发展现状

HTTP/0.9

1991年

不涉及数据包传输,规定客户端和服务器之间通信格式,只能GET请求

没有作为正式的标准

HTTP/1.0

1996年

短链接,传输内容格式不限制,增加PUT、PATCH、HEAD、 OPTIONS、DELETE命令

正式作为标准

HTTP/1.1

1997年

持久连接(长连接)、节约带宽、HOST域、管道机制、分块传输编码

2015年前使用最广泛

HTTP/2

2015年

多路复用、服务器推送、头信息压缩、二进制协议等

逐渐覆盖市场


多路复用:通过单一的HTTP/2连接请求发起多重的请求-响应消息,多个请求stream共享一个TCP连接,实现多流并行而不是依赖建立多个TCP连接。

HTTP 协议报文格式:

HTTP 协议特点:

  • 无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作
  • 无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
  • 基于请求和响应:基本的特性,由客户端发起请求,服务端响应
  • 简单快速、灵活
  • 通信使用明文传输数据、请求和响应不会对通信方进行确认、无法保护数据的完整性

针对无状态的一些解决策略:

  • 通过Cookie/Session技术
  • HTTP/1.1持久连接(HTTP keep-alive)方法,只要任意一端没有明确提出断开连接,则保持TCP连接状态,在请求首部字段中的Connection: keep-alive即为表明使用了持久连接

客户端输入URL回车,DNS解析域名得到服务器的IP地址,服务器在80端口监听客户端请求,端口通过TCP/IP协议(可以通过Socket实现)建立连接。HTTP属于TCP/IP模型中的运用层协议,所以通信的过程其实是对应数据的入栈和出栈。

报文从运用层传送到运输层,运输层通过TCP三次握手和服务器建立连接,四次挥手释放连接。

相关文章
|
4天前
|
SQL 安全 测试技术
网络安全的屏障与钥匙:漏洞防护与加密技术解析软件测试的艺术:探索性测试的力量
【8月更文挑战第27天】在数字时代的海洋中,网络安全是保护我们数据资产的灯塔和堤坝。本文将深入浅出地探讨网络安全领域的关键要素——安全漏洞、加密技术以及不可或缺的安全意识。通过实际案例分析,我们将了解如何识别和修补潜在的安全漏洞,掌握现代加密技术的工作原理,并培养起一道坚固的安全防线。文章旨在为读者提供实用的知识和技能,以便在日益复杂的网络环境中保持警惕,确保个人及组织信息的安全。
|
5天前
|
缓存 网络协议 安全
【网络攻防战】DNS协议的致命弱点:如何利用它们发动悄无声息的网络攻击?
【8月更文挑战第26天】DNS(域名系统)是互联网的关键组件,用于将域名转换为IP地址。然而,DNS协议存在安全漏洞,包括缺乏身份验证机制、缓存中毒风险及放大攻击的可能性。通过具体案例,如DNS缓存中毒和DNS放大攻击,攻击者能够误导用户访问恶意站点或对目标服务器实施DDoS攻击。为了防范这些威胁,可以采用DNSSEC实现数字签名验证、利用加密的DNS服务(如DoH或DoT)、限制DNS服务器响应以及及时更新DNS软件等措施。理解并应对DNS的安全挑战对于确保网络环境的安全至关重要。
33 2
|
2天前
|
存储 算法 Java
Java中的集合框架深度解析云上守护:云计算与网络安全的协同进化
【8月更文挑战第29天】在Java的世界中,集合框架是数据结构的代言人。它不仅让数据存储变得优雅而高效,还为程序员提供了一套丰富的工具箱。本文将带你深入理解集合框架的设计哲学,探索其背后的原理,并分享一些实用的使用技巧。无论你是初学者还是资深开发者,这篇文章都将为你打开一扇通往高效编程的大门。
|
4天前
|
存储 安全 网络安全
网络安全与信息安全:从漏洞到防范的全方位解析
【8月更文挑战第27天】在数字化时代,网络安全和信息安全的重要性日益凸显。本文将深入探讨网络安全漏洞、加密技术以及安全意识等方面的内容。我们将通过实例分析,揭示网络攻击者如何利用安全漏洞进行入侵,并介绍常见的加密技术及其应用。此外,我们还将强调提升个人和企业的安全意识对于防范网络攻击的重要性。无论你是IT专业人士还是普通用户,这篇文章都将为你提供宝贵的知识和技能,帮助你更好地保护自己的数字生活。
|
4天前
|
监控 安全 iOS开发
|
5天前
|
存储 缓存 监控
警惕网络背后的陷阱:揭秘DNS缓存中毒如何悄然改变你的网络走向
【8月更文挑战第26天】DNS缓存中毒是一种网络攻击,通过篡改DNS服务器缓存,将用户重定向到恶意站点。攻击者利用伪造响应、事务ID猜测及中间人攻击等方式实施。这可能导致隐私泄露和恶意软件传播。防范措施包括使用DNSSEC、限制响应来源、定期清理缓存以及加强监控。了解这些有助于保护网络安全。
25 1
|
6天前
|
网络协议
|
6天前
|
网络架构
|
6天前
|
监控 安全 数据库

推荐镜像

更多
下一篇
云函数