一、什么是HTTP?

HTTP系列教程

Winter

2017-09-07

HTTP全称为 Hypertext Transfer Protocol超文本传输协议,是一种为分布式、合作市、多媒体信息系统服务,面向应用层的协议。从90年代开始,成为了万维网数据通信的基础。

HTTP是一种通用和无状态的协议,采用了请求/响应的模型,客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、及包含请求修饰符等信息。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体信息以及可能的实体内容。

本质上,Http是一个基于TCP/IP的通信协议,可以在全世界范围里传输数据,例如Html文档、图片、搜索结果等。默认监听80端口,但是其它端口也是可以使用的。它为每个连接在互联网上的计算机提供了标准化的通信方式。HTTP标准规定了客户端的请求数据将会被怎样建造然后发送到服务端的,并且规定了服务端是如何相应这些请求的。

基本特征

HTTP有三个特征让它成为了简单而又非常强大的协议:

  • HTTP是无连接的:例如一个浏览器的HTTP客户端发起一次HTTP请求,当请求创建成功后,它便会与服务端断开连接然而等待响应。然后服务端会处理这个请求,和重新客户端建立连接后发送回响应内容。
  • HTTP是媒体独立的:它的意思是,任何类型的数据都是可以通过HTTP发送的,只要客户端和服务端都知道怎么去处理这个类型数据的内容。它需要客户端和服务端通过使用适当的MIME-type来制定内容的类型。
  • HTTP是无状态的:如上所述,HTTP是无连接的,这是HTTP是无状态协议的直接结果。服务器和客户端只有在当前请求期间才知晓彼此,之后,他们便会忘记了彼此。由于协议的这种特性,客户端和服务器都不能在网页上的不同请求之间保留信息。

基本架构

如下图展示了Web应用程序的非常基本的架构,并描绘了HTTP所处的位置:

HTTP是一个客户端和服务器端请求和应答的标准,客户端是终端用户,它可以是浏览器、网络爬虫、搜索引擎等等,Web服务器则充当服务器。

客户端

客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、及包含请求修饰符等信息、客户信息和内容的类似于MIME的消息结构。

服务端

服务器以一个状态行作为相应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体信息以及可能的实体内容。

第10篇《一、什么是HTTP?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1条评论
梓枭 2020.05.25

llalaal