一、HTTP 协议
客户端和服务器之间通信的时候,相互之间发送数据(MIME 类型),发送数据之后给出响应,这个过程中需要遵守的协议。就叫HTTP协议。
HTTP 协议中的数据又叫报文。
客户端给服务器发送数据叫请求。请求有对应的请求HTTP协议。
服务器给客户端回传数据叫响应。响应有对应的响应HTTP协议。
二、请求HTTP协议
请求包含GET和POST请求。
a、GET请求HTTP协议组成主要包含请求行和请求头两部分
1、请求行包含请求方式 GET + 请求的资源路径(加访问参数) + 请求的协议版本号 HTTP/1.1;
2、请求头是key和value组成的键值对,不同键值对表示不同含义。
b、POST请求HTTP协议,主要包含请求行,请求头和请求体
1、请求行
请求方式 POST;
请求资源路径 + 请求参数;
请求协议版本号。
2、请求头
key和value组成的键值对,不同键值对表示不同含义。
3、请求体
客户端发送给服务器的数据
2和3之间有个空行。
总结:
1、请求是客户端发给服务器的,请求行表示了访问资源位置 请求方式+资源路径+参数+HTTP1.1,请求头表示一会服务器给客户端响应的时候,要遵守的相关协议,比如什么时候等,什么时候不等;支持用什么语言等,客户端支持接收的数据; 请求体里面包含了要发送给服务器的的数据;
2、常用请求头
- Accept: 表示客户端可以接收的数据类型
- Accpet-Languege: 表示客户端可以接收的语言
- User-Agent:表示客户端浏览器的信息
- Host: 表示请求时的服务器 ip 和端口号
3、如何区分GET和POST请求
GET
GET | POST |
---|---|
form 标签 method=get | form 标签 method=post |
link 标签引入 css | |
Script 标签引入 js 文件 | |
img 标签引入图片 | |
img 标签引入图片t | |
iframe 引入 html 页面 | |
在浏览器地址栏中输入地址后敲回车 |
三、响应的HTTP协议
响应是服务器给客户端的发送数据的过程。
1、 响应行
(1) 响应的协议和版本号 HTTP1.1
(2) 响应状态码 200
(3) 响应状态描述符 OK
2、 响应头
key和value组成的键值对,不同键值对表示不同含义。表示响应体里面的一些数据格式。星影视时间,以及服务器的一些信息。
3、 响应体
就是服务器回传给客户端的数据
总结:
1、常用响应码
响应码 | 含义 |
---|---|
200 | 请求成功 |
302 | 表示请求重定向 |
404 | 表示请求服务器已经收到了, 但是你要的数据不存在(请求地址错误) |
500 | 表示服务器已经收到请求, 但是服务器内部错误(代码错误) |
2、MIME
MIME 的英文全称是"Multipurpose Internet Mail Extensions" 多功能 Internet 邮件扩充服务。 MIME 类型的格式是“大类型/小类型” , 并与某一种文件的扩展名相对应。是HTTP协议中的数据类型。
HTTP无状态是指:服务器无法区分两个request是否来自同一个浏览器。这个问题的解决方案就是会话跟踪技术。