HTTP协议的介绍
-
HTTP(Hyper Text Transfer Protocol):超文本传输协议
-
HTTP协议是基于TCP/IP协议的
(TCP协议是要经过三次握手,是一个面向有连接的协议,它是一个相对来说比较安全的协议)
-
超文本:比普通文本更加强大(不仅支持文字,还支持图片、音频等各种资源)
-
传输协议:客户端和服务端的通信规则(问答机制)(握手规则)
(客户端先发起,服务端再给回应)
HTTP协议的请求
请求的组成部分
(1)请求行
请求方式 提交路径(提交参数) HTTP/版本号
(2)请求头
(3)请求空行
普通换行,用于区分请求头和请求体
(4)请求体
· 只有POST请求方式才有请求体(GET方式没有请求体,所以 把提交参数显示在请求行中)
· 用于显示提交参数
请求的方式
(1)GET
提交的数据会显示在网址的url地址中
对于url地址,不同的网页对于它的长度还有不同的限制
相对来说不太安全,因为我们提交的数据又可能会被别人看到
-
请求行部分:提交的参数例如username、password等都被显示出来
HTTP/1.1——协议名称和协议版本号
-
请求头部分:(大部分以K-V键值对形式表示,首字母大写)
HOST——请求的主机
User-Agent:浏览器的一些信息
Accept:代表支持的资源类型
Accept-Language:支持的语言
Accept-Encoding:支持的压缩格式
Connection:代表连接状态
Referer:代表请求来源(在地址栏中输入的完整路径)
后面的是缓存相关的一些内容
-
请求空行部分:就是一个普通的换行(因为换行没有显示效果,所以用灰色字体表示)
-
请求体部分:由于GET没有请求体,所以也用灰色字体表示
(2)POST
相对安全,因为它提交的数据不会显示在地址栏中
(把请求行中提交的数据参数存放在请求体中)
——注意:只有POST请求方式才有请求体
HTTP协议的响应
响应的组成部分(跟请求的组成部分相似)
(1)响应行
请求方式:客户端使用的请求方式与服务器响应方式一致(GET/POST)
协议名称和协议版本号
服务器的状态码(200代表成功)
描述信息
(2)响应头
Accept-Ranges:支持的存储类型
ETag:当前的响应在整个服务器中的唯一标识(序列号)
Last-Modified:当前资源在服务器中的最后修改时间
Content-Type:响应类型
Content-Length:响应长度
(3)响应空行
普通换行
用于区分响应头和响应体
(4)响应体
将服务器响应给客户端的资源文件发送给客户端浏览器进行解析