http协议中get和post的区别

1.HTTP请求格式:
<request-line>
<headers>
<blank line>
[<request-body>]
说明:第一行必须是一个请求行(request-line),用来说明请求类型,要访问的资源以及所使用的HTTP版本.
紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息.
之后是一个空行.
再后面可以添加任意的其他数据[称之为主体(body)].
2.GET与POST区别

HTTP定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST.

HTTP-GET和HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语义。每个HTTP-GET和HTTP-POST都由一系列HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么,而响应则是由一系列HTTP应答头和应答数据组成,如果请求成功则返回应答。
  HTTP-GET以使用MIME类型application/x-www-form-urlencoded的urlencoded文本的格式传递参数。Urlencoding是一种字符编码,保证被传送的参数由遵循规范的文本组成,例如一个空格的编码是"%20"。附加参数还能被认为是一个查询字符串。
  与HTTP-GET类似,HTTP-POST参数也是被URL编码的。然而,变量名/变量值不作为URL的一部分被传送,而是放在实际的HTTP请求消息内部被传送。
(1) get是从服务器上获取数据,post是向服务器传送数据。

(2) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。

(3) 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

(4) GET方式提交的数据最多只能有1024字节,而POST则没有此限制。

(5) get安全性非常低,post安全性较高。但是执行效率却比Post方法好。
(6) 在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

具体的例子


-----------------------get和post演示代码-----------------------------------------


<FORM ACTION="ydl.html" METHOD="get">
<INPUT TYPE="text" NAME="Text" VALUE="get_test"></INPUT>
<INPUT TYPE="submit" VALUE="Method=Get"></INPUT>
</FORM>


<FORM ACTION="ydl.html" METHOD="post">
<INPUT TYPE="text" NAME="Text" VALUE="post_test"></INPUT>
<INPUT TYPE="submit" VALUE="Method=post"></INPUT>
</FORM>


将以上代码保存为index.htm并与ydl.html文件铜在一个目录,放入tomcat的程序目录下
访问 index.html
例如:http://localhost:8899/


通过get方式提交,IE地址显示如下地址
http://localhost:8899/ydl.html?Text=get_test可以刷新页面
通过post方式提交,IE地址显示如下地址
http://localhost:8899/ydl.html 不可以刷新页面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值