一、HTTP基本简介
1、http:超文本传输协议,是一个TCP/IP层的应用协议,版本有1.0和1.1
2.http1.0和http1.1的区别:
http1.0:与服务器连接后,只能获取一个web资源;
http1.1:与服务器连接后,能获取多个Web资源。
二、HTTP请求
一个完整的HTTP请求包括:一个请求行、若干消息头以及实体内容
1、请求方式
请求方式有get、post、head、put、options、delete、trace,常用的是get、post
get和post的区别主要表现在数据传递上
get方式是在URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分割,URL地址后附带的参数有限
post可以在请求的实体内容中向服务器发送数据,传送的数据量无限制
2、消息头
HTTP请求中的常用消息头
accept:浏览器通过这个头告诉服务器,它所支持的数据类型
Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式
Accept-Language:浏览器通过这个头告诉服务器,它的语言环境
Host:浏览器通过这个头告诉服务器,想访问哪台主机
If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间
Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的 防盗链
Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是何持链接
三、HTTP响应
一个HTTP响应代表服务器向客户端回送的数据,包括一个状态行、若干消息头以及实体内容
1、http响应的细节——状态行
一般是HTTP版本号 状态号 原因叙述
状态码用于表示服务器对于请求的处理结果
100-199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
200-299:表示成功接收请求并已完成,常用200
300-399:为完成请求,客户需进一步细化请求。例如,请求的资源已经移动一个新地址,常用302/307和304
400-499:客户端的请求有错误,常用404
500-599:服务器端出现错误,常用500
2、HTTP响应细节——常用响应头
Location: 服务器通过这个头,来告诉浏览器跳到哪里
Server:服务器通过这个头,告诉浏览器服务器的型号
Content-Encoding:服务器通过这个头,告诉浏览器,数据的压缩格式
Content-Length: 服务器通过这个头,告诉浏览器回送数据的长度
Content-Language: 服务器通过这个头,告诉浏览器语言环境
Content-Type:服务器通过这个头,告诉浏览器回送数据的类型
Refresh:服务器通过这个头,告诉浏览器定时刷新
Content-Disposition: 服务器通过这个头,告诉浏览器以下载方式打数据
Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以分块方式回送的
Expires: -1 控制浏览器不要缓存
Cache-Control: no-cache
Pragma: no-cache
四、在服务器端设置响应头来控制客户端浏览器的行为
1、设置location响应头,实现请求重定向
2、设置Content-Encoding响应头,告诉浏览器数据的压缩格式
3、设置content-type响应头,指定回送数据类型
4、设置refresh响应头,让浏览器定时刷新
5、设置content-disposition响应头,让浏览器下载文件