话说GET与POST那点恩怨

          看过很多人写GETPOST之间的区别,为什么这么多人关注它们呢?因为它们是最常用的两种HTTP方法,之间有很多相同之处,也存在非常大的不同。首先了解一下HTTP方法:


       什么是HTTP?     超文本传输协议(HTTP)的实际目的是保证客户机与服务器之间的通讯,即请求-应答协议。web浏览器可能是客户端,而计算机上的应用程序也可能是服务端。举例:客户端(浏览器)向服务器提交HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。


       GETPOST正是此功能最常用的两种方法:1GET- 从指定的资源请求数据;2POST- 向指定的资源提交被处理的数据,其实就是这两个英文的翻译吧!

 

         看看这两种方法的比较:

 

GET

POST

后退按钮/刷新

无害

数据会被重新提交(浏览器应该告知用户数据会被重新提交)。

书签

可收藏为书签

不可收藏为书签

缓存

能被缓存

不能缓存

编码类型

application/x-www-form-urlencoded

application/x-www-form-urlencoded multipart/form-data。为二进制数据使用多重编码。

历史

参数保留在浏览器历史中。

参数不会保存在浏览器历史中。

对数据长度的限制

是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。

无限制。

对数据类型的限制

只允许 ASCII 字符。

没有限制。也允许二进制数据。

安全性

POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。

在发送密码或其他敏感信息时绝不要使用 GET

POST GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。

可见性

数据在 URL 中对所有人都是可见的。

数据不会显示在 URL 中。

在JQuery中语法

$.get(URL,callback);

 

$.post(URL,data,callback);

 

 

例子:GET:

<!DOCTYPE html>
<html>
	<head>
		<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
		<script>
			$(document).ready(function(){
			  $("button").click(function(){
			    $.get("/example/jquery/demo_test.asp",function(data,status){
			      alert("数据:" + data + "\n状态:" + status);
			    });
			  });
			});
		</script>
	</head>
	<body>
		<button>向页面发送 HTTP GET 请求,然后获得返回的结果</button>
	</body>
</html>

        POST:

<!DOCTYPE html>
	<html>
	<head>
		<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
		</script>
		<script>
			$(document).ready(function(){
			  $("button").click(function(){
			    $.post("/example/jquery/demo_test_post.asp",
			    {
			      name:"Donald Duck",
			      city:"Duckburg"
			    },
			    function(data,status){
			      alert("数据:" + data + "\n状态:" + status);
			    });
			  });
			});
		</script>
	</head>
	<body>
		<button>向页面发送 HTTP POST 请求,并获得返回的结果</button>
	</body>
</html>

          综上为简单的GETPOST之间的恩怨诉说,很多之间的区别必须等我们实践过,对比过,才能体会的更深,这里只是提前知道一下!更多的还需要我们在项目中时间来体会的更多!


  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值