一、HTTP协议
a)什么是HTTP协议
协议是双方或多方相互约定好大家都需要遵守的规则。
HTTP协议是指客户端和服务器之间通信时发送的数据需要遵守的规则。
b)请求的HTTP协议格式
客户端给服务端发送数据叫请求,服务端给客户端回传数据叫响应
请求分为GET请求和POST请求
i、GET请求
1、请求行
(1)请求的方式 GET
(2)请求的资源路径[+?+请求参数]
(3)请求的协议的版本号 HTTP/1.1
2、请求头
key:value 组成,不同的键值对表示不同的含义
Accept:告诉服务器,客户端可以接受的数据类型
Accept-Language:告诉服务器客户端可以接受的语言类型
User-Agent:用户代理,就是浏览器的信息
Accept-Encoding:告诉服务器,客户端可以接受的数据编码或压缩格式
Host:表示请求的服务器ip和端口号
Connection:告诉服务器当前连接如何处理
keep-alive为回传完数据不要马上关闭,保持一小段时长的连接
closed为马上关闭
ii、POST请求
1、请求行
(1)请求的方式 POST
(2)请求的资源路径[+?+请求参数]
(3)请求的协议的版本号 HTTP/1.1
2、请求头
key:value 不同的请求头有不同的含义
Referer:表示请求发起时,浏览器地址栏中的地址(从哪来)
Content-Type:表示发送的数据的类型
application/x-www-form-ur lencoded 表示提交的数据格式是name=value,然后对其进行url编码, url编码是把非英文内容转换为%xx%xx
multipart/form-data 表示以多段的形式提交数据给服务器(以流的形式),用于上传
Content-Lenth:表示请求体发送的数据的长度
Cache-Control:表示如何控制缓存,no-cache为不缓存。
空行
3、请求体 → 就是发送给服务器的数据
iii、哪些是GET请求,哪些是POST请求
GET请求有哪些?
1、form标签 method=get
2、a标签
3、link标签引入css
4、Script标签引入js文件
5、img标签引入图片
6、iframe引入html页面
7、在浏览器地址栏中输入地址后回车
POST请求有哪些?
1、form标签 method=post
c)响应的HTTP协议格式
1、响应行
(1)响应的协议和版本号 HTTP/1.1
(2)响应状态码
常见响应码:
200:表示请求成功
302:表示请求重定向
404:表示请求服务器已经收到了,但是你要的数据不存在(请求地址错误)
500:表示服务器已经收到请求,但是服务器内部错误(代码错误)
(3)响应状态描述符
2、响应头
key:value 不同响应头有不同的含义
Server:表示服务器的信息
Content-Type:表示响应体的数据类型
Content-Length:响应体的长度
Date:请求响应的时间(格林时间)
空行
3、响应体 → 回传给客户端的数据
d)MIME类型说明
MIME是HTTP中的数据类型,Multipurpose Mail Extension 多功能邮件扩充服务,MIME类型的格式是“大类型 / 小类型”,并与某一种文件的扩展名相对应。