通信协议(Communication Protocol) 是指通信的双方完成通信所必须遵守的规则和约定
通俗的理解: 通信双方采用约定好的格式来发送和接收消息,这种事先约定好的通信格式
,就叫做通信协议.
与李四采用写信的方式进行通信,在填写信封时,写信的双方需要遵守固定的规则。
信封的填写规则
就是一种通信协议。
客户端与服务器之间要实现网页内容
的传输,则通信的双方必须遵守网页内容的传输协议
。
网页内容又叫做超文本
,因此网页内容的传输协议又叫做超文本传输协议 (HyperText Transfer Protocol)简称 HTTP
协议。
由于 HTTP 协议属于客户端浏览器和服务器之间的通信协议。因此,客户端发起的请求叫做 HTTP 请求
,客户端发送到服务器的消息,叫做 HTTP 请求消息
。
注意:HTTP 请求消息又叫做 HTTP 请求报文
HTTP 请求消息由请求行
(request line) 、请求头部
( header) 、空行和请求体
4个部分组成。
请求行:
请求行由请求方式
、URL
和 HTTP
协议版本3个部分组成,他们之间使用空格隔开。
请求头部
请求头部用来描述客户端的基本信息,从而把客户端相关的信息告知服务器。比如: User-Agent
用来说明当前是什么类型的浏览器;Content-Type
用来描述发送到服务器的数据格式,Accept
用来描述客户端能够接收什么类型的返回内容;Accept-Language
用来描述客户端期望接收哪种人类语言的文本内容。
请求头部由多行 键/值对 组成,每行的键和值之间用英文的冒号分隔。
请求头部字段
空行:
请求体:
请求体中存放的,是要通过 POST 方式提交到服务器的数据
注意:只有POST请求才有请求体,GET 请求没有请求体!
HTTP响应消息-状态行
状态行由 HTTP 协议版本
、状态码
和状态码的描述文本
3 个部分组成,他们之间使用空格隔开;
HTTP响应消息-响应头部
响应头部用来描述服务器的基本信息
。响应头部由多行 键/值对
组成,每行的键和值之间用英文的冒号分隔。