HTTP 协议中的GET 和POST 的区别

 

1. Http 请求由四部分组成:
1. 请求行
2. 消息报头
3. 一个空行
4. 请求正文
 
2.请求行:
 Method Request-Url  Http-Version  回车
Method GET,POST,Head,Put,Delete

Request-Url :请求站点

Http-Version1.1  or  1.0

 

3. GET

当我们在浏览器中输入网址并敲回车时,浏览器使用GET的方式去访问网址

Form 表单中默认的就是GET 提交方式

 GET Request-Url  HTTP/1.1

 Request-Url  ? Name1 = value1 & Name2 =value2

由于GET 的参数放在 请求行中的,所以参数长度有限制。长度为数个KB

下面是一个在浏览器访问 www.taobao.com 的请求信息截图。

 

 

再来一个附带参数GET请求的截图

 

4. POST

 通常用来将表单的数据提交到Request-Url

POST Request-Url HTTP/1.1

消息报头

空行

Name1 = value1 & Name2 =value2& Name3 = value3 & Name4=value4

 

POST 的参数请求正文里,所以POST 参数的长度不受限制,但受服务器处理的限制。POST 传递的参数不会在浏览器地址栏里显示,也就不会暴露传递的参数。

 

通常情况下,可以借助于Firefox + Firebug 来查看请求信息:

 

 

 

例如:用户在以POST 提交表单时,由在URL后面接了一些参数。那么这个请求是GET 请求还是POST 请求呢?服务器是把这个请求当作GET  还是POST 来对待呢?

我在淘宝网注册一个用户

 提交信息后,通过Firebug 的截图,可以看到,这个请求是以POST 方式提交的。

 
 不过这个时候我们看到这个POST请求的URL 后面还附带了一些参数: tg=&&rdn=&timearg=u&tt=0
 
 不过我们看到POST 里附带的是刚才我注册时填写的一些注册信息   nihaonihao77  等。
而在
而在“参数”标签中,我们可以看到 URL 后面附带的所有参数。
纯GET 方式提交的信息中有“头信息,响应,缓存”
带参数的GET 方式提交信息“参数,头信息,响应,缓存”
纯POST 方式提交的信息中有“头信息,POST,响应,缓存,HTML”
第三种方式提交的信息有“参数,头信息,post,响应,HTML”
从上面的比较可以看出,但一个POST 请求的URL 后面还附带了参数,那么这个请求还是POST 请求,不过浏览器还是会在URL后面附上参数。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值