[关闭]
@bornkiller 2014-07-20T08:26:55.000000Z 字数 2520 阅读 3221

HTTP协议--收集备用

HTTP


参考资源

request-line

method url HTTP/version
GET /images/logo.png HTTP/1.1
http://www.it315.org/servlet?param1=aaa&param2=bbb

method

request-headers

Accept

key value example
Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html
Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: UTF-8
Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding: compress, gzip
Accept-Language 浏览器可接受的语言 Accept-Language: en,zh
Accept-Ranges 可以请求网页实体的一个或者多个子范围字段 Accept-Ranges: bytes

缓存

key value example
Expires 设定过期时间 Expires: Fri, 30 Oct 1998 14:19:41 GMT
Cache_Control 缓存管理,优先级更高 Cache-Control: max-age=3600
Last-Modified 上次修改时间 Last-Modified:Sun, 20 Jul 2014 07:34:23 GMT
If-Modified-Since 检查内容新鲜度 If-Modified-Since:Sun, 20 Jul 2014 06:48:38 GMT
Etag 可理解为MD5值,标示内容唯一性 ETag:”50b1c1d4f775c61:df3″
If-None-Match 检查新鲜度 If-None-Match : “50b1c1d4f775c61:df3″

缓存小技巧:
+ 保持URL稳定:这是缓存的金科玉律,如果设置了非验证缓存,且时间未过期前提下,可在query parameter附加版本号。
+ 对长期保持不变的内容,Max-Age可以设置大一些,定期改变的内容可使用Expires来实现。
+ 站点发布时,不要覆盖更新,目前的VCS工具可以有效处理这一问题。
+ SSL站点无法缓存,尽可能减少使用。
+ 静态站点不需要cookie,设置单独服务器,减少传输量。
(PS: 缓存设置有response设定,request负责执行)

其它

key value example
Cookie none Cookie:sfsess=cfaECa
User-Agent 请求用户信息 User-Agent:Mozilla/5.0 (Windows NT 6.1)
Content-Type 设定信息MIME值 Content-Type: image/gif
Content-Length 设定内容长度,用于进度计算 Content-Length: 123
Upgrade 用于服务器协议切换 Upgrade: websocket
Connection 是否保持连接 none Connection:keep-alive

request-body

response-line

HTTP/version status reason
HTTP/1.1 200 OK

status

1xx消息——请求已被服务器接收,继续处理
2xx成功——请求已成功被服务器接收、理解、并接受
3xx重定向——需要后续操作才能完成这一请求
4xx请求错误——请求含有词法错误或者无法被执行
5xx服务器错误——服务器在处理某个正确请求时发生错误

200 OK (正常)
301 Moved Permanently (页面已经永久性地迁移)
304 Not Modified
307 Temporary Redirect (页面暂时性地迁移到了别的地方,由 Location 指定)
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found (页面没有找到)
500 Internal Server Error (服务器端发生错误)

response-headers

key value example
Set-Cookie 存储cookie信息 Set-Cookie: UserID=JohnDoe; Max-Age=3600; Path=/static;
Content-Type 设定信息MIME值 Content-Type: image/gif
Content-Disposition 设定行为,attachment 或者 inline Content-Disposition: attachment; filename=”download.zip”
Content-Length 设定内容长度,用于下载进度计算 Content-Length: 89123
Location 用于重定向 Location: http://www.eisoo.com/
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注