自己总结
request请求结构
GET /562f25980001b1b106000338.jpg HTTP/1.1
Host img.mukewang.com
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept image/webp,image/*,*/*;q=0.8
Referer http://www.imooc.com/
Accept-Encoding gzip, deflate, sdch
Accept-Language zh-CN,zh;q=0.8
- 第一部分,请求行,用来描述请求方法,以及HTTP版本,GET方法的请求内容也包含在这一行
- 第二部分,从第二行开始一直到换行,请求头,通常包含客户端的描述信息(客户端能够接受的内容类型,指定可以支持的编码类型,接受语言),以及cookies等服务端需要的信息
- 第三部分,空行,区别请求头和请求体的分割线,必须要加
- 第四部分,请求体,POST的请求通常包含在请求体中,而GET请求通常没有请求体
responese 响应结构
HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8
<html>
<head></head>
<body>
<!--body goes here-->
</body>
</html>
- 第一部分,响应状态行,一般包含HTTP版本号、响应状态码、状态消息三部分组成
- 第二部分,响应头,一般响应体语言、服务器支持的编码、响应体长度等描述信息,以及需要设置的cookeis信息
- 第三部分,空行,必须加
- 第四部分,具体响应内容
GET和POST的主要区别
- GET请求放在请求行,POST请求在请求体中通常以表单形式提交
- 以为提交信息的位置不同导致了GET请求的有字符串长度的限制,而在请求体中提交请求的POST方法则没有长度限制
- POST请求比GET请求更安全
- 通常查找信息用GET,更新信息用POST提交