HTTP协议|青训营

131 阅读3分钟

HTTP协议是什么?

http又叫做超文本传输协议(Hypertext Transfer Protocol),可以拆分成超文本(Hypertext)、传输(Transfer)、协议(Protocol)
HTTP 是一种应用层协议,是基于 TCP/IP 通信协议来传递数据的,其中 HTTP1.0、HTTP1.1、HTTP2.0 均为 TCP 实现,HTTP3.0 基于 UDP 实现。现主流使用 HTTP1.0 和 HTTP3.0
协议: 为了使数据在网络上从源头到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议,它最终体现为在网络上传输的数据包的格式。

什么是超文本

普通的txt文件就是文本,即以简单字符的形式存在,随着技术的发展,简单的文本已经满足不了人们的需求,还想要传输图片、音频、视频,甚至点击文字或图片能够进行超链接的跳转,那么文本的语义就被扩大,然后被称为超文本

什么是传输

我们存储的超文本会被解析成为二进制数据包,由传输载体(例如同轴电缆,电话线,光缆)负责把二进制数据包由计算机终端传输到另一个终端的过程称为传输(transfer)

什么是协议

就是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议

HTTP 协议的工作过程

当我们在浏览器输入一个网址,此时浏览器就会给对应的服务器发送一个 HTTP 请求,对应的服务器收到这个请求之后,经过计算处理,就会返回一个 HTTP 响应。并且当我们访问一个网站时,可能涉及不止一次的 HTTP 请求和响应的交互过程

  • 客户端:  主动发起网络请求的一端
  • 服务器:  被动接收网络请求的一端
  • 请求:  客户端给服务器发送的数据
  • 响应:  服务器给客户端返回的数据

HTTP协议的特点

• 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得 HTTP服务器的程序规模小,因而通信速度很快。
• 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
• HTTP 0.9和1.0使用非持续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。HTTP 1.1使用持续连接:不必为每个web对象创建一个新的连 接,一个连接可以传送多个对象,采用这种方式可以节省传输时间。
• 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
•支持B/S及C/S模式。

HTTP 协议里有什么?

image.png

HTTP的流程

image.png