http协议: 请求响应举例
一个HTTP响应代表服务器向客户端回送的数据,包括:一个状态行、若干消息头、以及实体内容 。
状态行
格式: HTTP版本号 状态码 原因叙述<CRLF>(如:HTTP/1.1 200 OK)
状态码:用于表示服务器对请求的处理结果,它是一个三位的十进制数。
一些状态码的意义:
100~199表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
200~299表示成功接收请求并已完成整个处理过程,常用200
300~399为完成请求,客户需进一步细化请求。例如,请求的资源已经移动一个新地址,常用302、307和304
400~499客户端的请求有错误,常用404
500~599服务器端出现错误,常用 500
响应头
Location:服务器通过这个头告诉浏览器去访问哪个页面,这个头通常配合302状态码使用
Content-Encoding: 服务器通过这个头告诉浏览器,回送的数据采用的压缩格式
Content-Length: 服务器通过这个头告诉浏览器,回送的数据的大小
Content-Type: 服务器通过这个头告诉浏览器,回送数据的类型
Last-Modified: 服务器通过这个头告诉浏览器,资源的最后修改时间
Refresh:服务器通过这个头告诉浏览器,定时刷新网页
Content-Disposition: attachment; filename=aaa.zip:服务器通过这个头告诉浏览器,以下载方式打开数据
ETag: W/"7777-1242234904000":缓存相关的头,为每一个资源配一个唯一的编号
HTTP请求头字段
Range头指示服务器只传输一部分Web资源,可以用来实现断点续传功能。
Range设置要传输的字节范围:
Range: bytes=1000-2000(传输范围从1000到2000字节)
Range: bytes=1000-(传输Web资源中第1000个字节以后的所有内容)
Range bytes=1000(传输最后1000个字节)
HTTP响应消息头字段
Accept-Ranges:说明Web服务器是否支持Range。若支持,返回bytes;若不支持,则返回none.
Content-Range:指定返回的Web资源的字节范围。
格式为:Content-Range:Range字段(如:Content-Range:1000-3000/5000