一个Http响应代表服务器向客户端回送的数据,它包括:一个状态行,若干消息头,以及实体内容
举例:
HTTP/1.1 200 OK ß状态行(状态行用于描述服务器对请求的处理结果)
1.
2.
3.
4.
5.
1-5是多个响应头(消息头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通过这些数据的描述信息,可以通知客户端如何处理,等一会儿它回送的数据)
状态行:
格式:HTTP版本号
举例:HTTP/1.1 200 OK
状态码用于表示服务器对请求的处理结果,他是一个三位数的十进制数,响应状态码分为5类如下所示:
状态码 | 含义 |
100~199 | 表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程 |
200~299 | 表示成功接收请求并已完成整个处理过程,常用200 |
300~399 | 为完成请求,客户端进一步细化请求。例如:请求的资源已经移动到一个新地址,常用302(服务器让客户端去找别的地址)、307和304(这两个一个意思,给客户端304或307的话,意思着就要客户端拿缓存里的数据显示) |
400~499 | 客户端的请求有错误,常用404(请求的资源在web服务器里没有,就是请求的地址写错了)还有403(有这个资源,但是没有访问权限) |
500~599 | 服务器端出现错误,常用500(服务器处理资源时出现了问题,也就是你写的程序出问题了) |
响应头:
Location:这个头配合302状态码使用,用于告诉客户机找谁
Server:服务器通过这个头,告诉浏览器服务器的类型
Content-Encoding:服务器通过这个头,告诉浏览器数据的压缩格式
Content-Length:服务器通过这个头,告诉浏览器会送数据的长度
Content-Type:服务器通过这个头,告诉浏览器会送数据的类型
Last-Hodified:服务器通过这个头,告诉浏览器当前资源缓存时间
Refresh:服务器通过这个头,告诉浏览器隔多长时间刷新一次
Content-Disposition:服务器通过这个头,告诉浏览器一下载的方式打开数据
Transfer-Encoding:服务器通过这个头,告诉浏览器数据的传送格式
ETag:缓存资源的头
Expires:服务器通过这个头,告诉浏览器把回送的资源缓存多长时间,-1或0,则是不缓存
Cache-Control:no-cache
Pragma:no-cache
服务器通过以上两个头,也是控制浏览器不要缓存数据