http协议
* 即超文本传输协议。它规定了浏览器与服务器之间的通讯规则。
* http是基于请求/响应模式的,所以分为请求协议和响应协议
请求
请求内容就是客户端发送给服务器的数据!
1. 请求格式:
1) 请求首行
2) 请求头
3) 空行
4) 请求体(或称之为请求正文)
2. 请求方法
1) 常见请求方法有GET和POST
2) 在浏览器地址栏中发送请求,以及点击超链接都是GET请求
3) 提交表单可以发送GET请求,以及POST请求
4) GET请求没有请求体,但空行是存在的
5) POST请求是存在请求体的
3. 常见请求头
1) Host:请求的服务器主机名
2) User-Agent:客户端浏览器与操作系统相关信息
3) Accept-Encoding:客户端支持的数据压缩格式
4) Connection:客户端支持的连接方式
5) Cookie:客户端发送给服务器的“小甜点”,它服务器寄存在客户端的。如果当前访问的服务器没有在客户端寄存东西,那么就不会存在它!
6) Content-Length:请求体的长度
7) Referer:当前发出请求的地址
Ø 作用1:统计来源
Ø 作用2:防盗链
响应
1. 响应格式:
1) 响应首行
2) 响应头
3) 空行
4) 响应体(或称之为响应正文)
2. 首行:状态码
响应首行的结构:协议及版本 状态码 状态码说明,例如:HTTP/1.1 200OK
1) 200:请求成功
2) 302:请求重定向
3) 304:请求资源没有改变
4) 404:请求资源不存在,属性客户端错误
5) 500:服务器内部错误
3. 响应头
1) Content-Type:响应正文的MIME类型
2) Content-Length:响应正文的长度
3) Set-Cookie:服务器寄存在客户端的“小甜点”,当客户端再次访问服务器时会把这个“小甜点”还给服务器
4) 通知客户端浏览器不要缓存页面的响应头:
a) Expires:-1
b) Cache-Control: no-cache
c) Pragma: no-cache
5) 自动刷新响应头,浏览器会在3秒钟后自动重定向到传智主页
Refresh: 3;url=http://www.itcast.cn
4. 状态码304
1) 相关头信息
a) 在响应头中:Last-Modified,表示当前资源的最后修改时间;</