HTTP是什么?
首先,HTTP是什么?
HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol)
是基于_TCP/IP_的应用层通信协议,它是客户端和服务器之间相互通信的标准。它规定了如何在互联网上请求和传输内容。
你在这里已经可以清楚的知道了,HTTP是客户端和服务器之间相互通信的标准,那什么是超文本传输协议
呢?
超文本传输协议可以进行文字分割:超文本(Hypertext)、传输(Transfer)、协议(Protocol) ,它们之间的关系如下
什么是超文本
在互联网早期的时候,我们输入的信息只能保存在本地,无法和其他电脑进行交互。我们保存的信息通常都以文本
即简单字符的形式存在,文本是一种能够被计算机解析的有意义的二进制数据包。而随着互联网的高速发展,两台电脑之间能够进行数据的传输后,人们不满足
只能在两台电脑之间传输文字,还想要传输图片、音频、视频,甚至点击文字或图片能够进行超链接
的跳转,那么文本的语义就被扩大了,这种语义扩大后的文本就被称为超文本(Hypertext)
。
什么是传输和协议
传输:
其实顾名思义,很好理解,简单来说就是两个站点,进行信息的沟通传递。
协议:
简单来说的话就是我们俗称的约定
和规范
,后续的操作都遵循这些约定和规范就行了
HTTP/1
HTTP/0.9
第一版的HTTP文档是1991年提出来的 HTTP/0.9
。这是有史以来最简单的协议;它仅有一个GET
方法。如果客户端要访问服务器上的一些网页,它会作出如下的简单请求:
GET /index.html
下面我们就来看看 HTTP/0.9
的一个完整的请求流程(可参考下图)。
- 因为 HTTP 都是基于 TCP 协议的,所以客户端先要根据 IP 地址、端口和服务器建立 TCP 连接,而建立连接的过程就是 TCP 协议
三次握手
的过程。 - 建立好连接之后,会发送一个
GET
请求行的信息,如GET /index.html用来获取 index.html。 服务器
接收请求信息之后,读取对应的 HTML 文件,并将数据以 ASCII 字符流返回给客户端
。- HTML 文档传输完成后,
断开
连接。
总的来说,当时的需求很简单,就是用来传输体积很小的 HTML 文件,所以