@bornkiller
2014-07-20T16:26:55.000000Z
字数 2520
阅读 3334
HTTP
method url HTTP/version
GET /images/logo.png HTTP/1.1
http://www.it315.org/servlet?param1=aaa¶m2=bbb
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 |
HTTP/version status reason
HTTP/1.1 200 OK
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 (服务器端发生错误)
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/ |