你真的了解http吗(一)?

引言:

当我们轻点鼠标,在网页间畅游,或者在移动设备上轻轻滑动屏幕,浏览着各种信息时,背后默默支撑这一切的,正是HTTP——这个无处不在的超文本传输协议。HTTP作为互联网通信的基石,经历了从诞生到发展的历程,不仅推动了网络技术的飞速进步,也深刻地影响了我们与世界的连接方式。

在本文中,我们将一起回顾HTTP的发展历程,从最初的简单协议到如今的成熟标准,感受其不断演进的魅力。同时,我们将深入探讨HTTP的基本概念,包括其作为协议的本质、传输数据的机制以及超文本的特性。这些概念将为我们理解HTTP的工作原理和其在互联网中的作用奠定坚实的基础。

除了HTTP本身,还有许多与之相关的技术组件和概念值得我们关注。浏览器作为我们访问网络的窗口,WEB服务器作为存储和提供网页资源的中心,CDN(内容分发网络)作为提升网络访问速度的关键技术,它们都在HTTP通信中扮演着重要的角色。此外,爬虫技术用于自动抓取网络数据,TCP/IP协议为网络通信提供基础,DNS系统负责域名解析,URI/URL定义了网络资源的地址,而HTTPS则是HTTP的安全版本,为我们提供了更加安全的通信方式。

通过本文的介绍,我们将全面了解HTTP及其相关技术组件的概念、作用和应用场景。让我们一同揭开HTTP的神秘面纱,探索这个支撑着我们数字生活的强大协议背后的奥秘。

一、http的发展历程

版本 发布年份 关键特性 主要改进
HTTP/0.9 1991 - 只支持GET请求
- 无请求头或响应头,仅能请求简单的HTML文档
- Web的基础协议
- 仅支持纯文本内容传输
HTTP/1.0 1996 - 引入方法(GET、POST、HEAD)
- 支持状态码、HTTP头
- 支持多种内容类型
- 支持多种Web资源的传输
- 引入了HTTP头,允许传输元数据
- 增加了对字符集、多媒体文件的支持
HTTP/1.1 1997 - 持久连接(默认复用TCP连接)
- 分块传输编码
- 缓存控制
- 内容协商
- 更丰富的方法和状态码支持
- 显著提升性能,减少了TCP连接的开销
- 引入了更细致的缓存控制机制,提高了Web资源的重用率
- 支持虚拟主机
HTTP/2 2015 - 二进制帧
- 多路复用
- 头部压缩
- 服务器推送
- 更强的安全性要求(通常与TLS一起使用)
- 性能大幅提升,减少了延迟
- 改进了头部压缩,减少了开销
- 服务器推送优化了资源的加载
- 强化了安全性,推广了HTTPS的使用
HTTP/3 开发中 - 基于QUIC协议(使用UDP)
- 更快的连接建立
- 改进的拥塞控制
- 更好的多路复用
- 队头阻塞问题的解决方案
- 解决了TCP协议的一些固有问题,如队头阻塞
- 进一步减少了连接建立时间
- 提供了更为可靠的传输,即使在网络条件变化时

二、什么是http

HTTP(超文本传输协议)是一种用于分布式、协作式、超媒体信息系统的应用层协议。它是Web技术的基础,允许用户获取如文本、图像、音频和视频等资源。HTTP遵循客户端-服务器模型,客户端打开一个连接以发出请求,然后等待直到收到服务器的响应。

主要特点包括:

  • 无状态性:每次请求之间是独立的,服务器不会保存之前的交互信息。这意味着每个请求都必须包含所有必要的信息,服务器才能理解和响应。
  • 可扩展性:HTTP允许传输任何类型的数据,只要双方都知道如何处理这些数据。
  • 请求/响应模型:客户端发送一个请求到服务器,请求包含方法(如GET、POST等)、URI、协议版本、请求头和可能的消息体。服务器以状态码(如200 OK、404 Not Found)、响应头和自己的消息体响应。

这上面太官方了,可能说了也就是一个概念。下面我们拆解一下
超文本传输协议,可以拆解为超文本,传输,协议

1.协议

协议”并不仅限于计算机世界,现实生活中也随处可见,例如刚毕业时会签“三方协议”,入职公司会签“保密协议”,这些协议本质上其实和http是相同的,那么“协议”有什么特点?

第一、协议必须要有两个或者多个参与者,也就是“协”
第二、协议是对参与者的一种行为约定和规范,也就是“议”

这也是http的第一层含义“协议

http是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式

2. 传输

传输”其实很好理解,就是把一堆东西从A点搬到B点,或者从B点搬到A点,即“A<====>B
为什么说是"A<====>B",其实Http是一个“双向协议”,HTTP遵循客户端-服务器模型我们就用上网来举例子,浏览器就是客户端A 请求方,网站就是B 应答方,双方约定用http协议来通信,于是浏览器把一些数据发送给网站,网站再把这些数据返回给浏览器,最后展现在屏幕上,你就可以看到新闻,视频了。

这就是http的第二层含义“传输

http是一个在计算机世界里专门用来在两点之间传输数据的约定和规范

3.超文本

在计算机的世界里所谓的"文本“,就表示http传输的不是TCP/UDP这些底层协议里被切分的杂乱无章的二进制包,而是完整的有意义的数据,可以被浏览器、服务器这样的上层应用程序处理。
那么“超文本”,就是“超越了普通文本的文本”,它是文字、图片、音频和视频等的混合体,最关键是有“超链接”,能从一个超文本跳跃到另一个超文本,形成复杂的非线性、网状的结构关系

那么到此我们用人话说说什么是http协议

http是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等的超文本数据的约定和规范

三、和http相关的各种概念

http不是一个孤立的协议,在互联网的世界,http通常跑在TCP/IP协议之上,依靠IP协议实现寻址和路由,TCP协议实现可靠数据传输、DNS协议实现域名查找、SSL/TLS协议实现安全通信。此外,还有一些协议依赖于HTTP,例如WebSocket,HTTPDNS等。这些协议相互交织,构成了一个协议网,而HTTP则处于中心地位
下面我们一起来看看和http相关的各种概念

第一部分、http和浏览器、web服务器、爬虫、代理、CDN之间的联系

右侧模块
左侧模块
  • 20
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jieyucx

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

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

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

打赏作者

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

抵扣说明:

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

余额充值