Merge commit 'ab1eaf37942e62bab560e3d98b350160f27563c0' into ja

This commit is contained in:
Shin Kojima
2014-09-21 21:03:35 +09:00

View File

@@ -85,7 +85,9 @@ HTTP协议是无状态的同一个客户端的这次请求和上次请求是
//空行,用于分割请求头和消息体
//消息体,请求资源参数,例如POST传递的参数
我们通过fiddler抓包可以看到如下请求信息
HTTP协议定义了很多与服务器交互的请求方法最基本的有4种分别是GET,POST,PUT,DELETE。一个URL地址用于描述一个网络上的资源而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查删4个操作。我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息而POST一般用于更新资源信息
通过fiddler抓包可以看到如下请求信息:
![](images/3.1.http.png?raw=true)
@@ -95,13 +97,12 @@ HTTP协议是无状态的同一个客户端的这次请求和上次请求是
图3.5 fiddler抓取的POST信息
**我们可以看到GET请求消息体为空POST请求带有消息体**
我们看看GET和POST的区别:
HTTP协议定义了很多与服务器交互的请求方法最基本的有4种分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息而POST一般用于更新资源信息.
我们看看GET和POST的区别
1. GET提交的数据会放在URL之后以?分割URL和传输数据参数之间以&相连如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.
2. GET提交数据大小有限制因为浏览器对URL的长度有限制而POST方提交数据没有限制.
3. GET方式提交数据会带来安全问题比如一个登录页面通过GET方式提交数据时用户名和密码将出现在URL上如果页面可以被缓存或者其他人可以访问这台机器就可以从历史记录获得该用户的账号和密码。
1. 我们可以看到GET请求消息体为空POST请求带有消息体。
2. GET提交的数据会放在URL之后`?`分割URL和传输数据参数之间以`&`相连,如`EditPosts.aspx?name=test1&id=123456`。POST方法是把提交的数据放在HTTP包的body中。
3. GET提交的数据大小有限制因为浏览器对URL的长度有限制POST方法提交的数据没有限制。
4. GET方式提交数据会带来安全问题比如一个登录页面通过GET方提交数据用户名和密码将出现在URL上如果页面可以被缓存或者其他人可以访问这台机器就可以从历史记录获得该用户的账号和密码。
### HTTP响应包服务器信息
我们再来看看HTTP的response包他的结构如下