HTTP协议的特点、HTTP报文的组成部分

2,006 阅读2分钟

1. HTTP定义

HTTP全称Hypertext Transfer Protocol超文本传输协议,是应用层协议,由从客户端到服务器的请求和从服务器到客户端的响应构成。

2. HTTP协议的主要特点

1. 简单快速

简单:

  • 每种资源(图片、页面)都通过固定的url来定位。在HTTP协议中,处理起来比较简单,访问资源时,直接输入相应url即可。

快速:

  • 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快

2. 灵活

HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

3. 无连接

无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

4. 无状态

无状态是指协议对于事务处理没有记忆能力。无状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

例如,客户端服务器端是两种身份。第一次请求结束后,就断开了,第二次请求时,服务器端并没有记住之前的状态,也就是说,服务器端无法区分客户端是否为同一个人、同一个身份。

另一方面,在服务器不需要先前信息时它的应答就较快。

有时,网站能记住我们的登录状态,从而免登陆,这并不是HTTP协议的功劳,而是其他手段(例如session)。

3. HTTP报文的组成部分

HTTP报文包括请求报文响应报文

1. 请求报文

请求报文由四个部分组成:

  • 请求行:包括请求方法、请求 URL、HTTP 协议和版本
  • 请求头:一些键值对
  • 空行:请求头之后是一个空行,通知服务器以下不再有请求头、空行后面的内容是请求体
  • 请求体:数据部分,GET没有请求数据,POST

一个简单的示例:

2. 响应报文

响应报文由四个部分组成:

  • 状态行:HTTP协议和版本、状态码、状态描述
  • 响应头
  • 空行
  • 响应体

一个简单的示例: