Http Response的一些理解
使用Fiddler抓一下HTTP的请求和响应
1、一个典型的HTTP响应:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=UTF-8
Content-Length: 133
Date: Fri, 24 Mar 2017 07:01:08 GMT
<!DOCTYPE html><html><head><title>首页-欢迎</title></head><body>一首诗,一斗酒,一曲长歌,一剑天涯</body></html>
2、Http Request的组成部分:
响应首行(必须有):HTTP/1.1 200 OK
|-- 协议/版本 :HTTP/1.1
|-- 响应状态码:200
|-- 响应状态码描述:OK
响应头(一般有):
Server: Apache-Coyote/1.1 // 服务器信息
Content-Type: text/html;charset=UTF-8 // 响应正文的MIME类型,以便客户端对响应正文做相应处理
Content-Length: 133 // 响应正文的长度(byte)
Date: Fri, 24 Mar 2017 07:01:08 GMT // 当前时间
响应空行:分隔响应头和响应正文的作用。因为每次响应的响应头的数量可能不一样,所以需要这样空行来标识响应头的结束
响应正文:
<!DOCTYPE html><html><head><title>首页-欢迎</title></head><body>一首诗,一斗酒,一曲长歌,一剑天涯</body></html>
3、常见的响应码:
200 OK: 请求成功
302 Found:资源已找到,但是已被移动到另外一个路径,请重新发起请求到指定的路径,以获取该资源
重定向,相关响应头:Location:http://www.baidu.com
304 Not Modified:该资源自从上一次访问,没有被修改过,也就意味着浏览器可以使用本地的缓存
相关请求头:If-Modified-Since: Fri, 24 Mar 2017 07:00:35 GMT 该文件最近一次被修改的时间
404 Not Found:资源未找到
500 Internal Server Error:服务器内部出现异常,一般是由应用抛出未处理的异常
4. 常用的响应头
Content-Type:指定响应正文的MIME类型(可以去 $CATALINA_HOME/conf/web.xml 找)
Content-Length:指定响应正文的长度(byte)
Location:常和响应码 302一起使用,指明重定向的路径
Refresh:指定什么时候刷新到另外一个路径
5. 一个典型的HTTP响应