复习之 get和post方法
get()和post()是对Http(超文本传输协议)的两种请求方法。
-GET - 从指定的资源请求数据
-POST - 向指定的资源提交要处理的数据
1.GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。
2.POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。
什么时候用GET,什么时候用POST方法呢?
原文地址如下:http://bu-choreography.iteye.com/admin/blogs/new。翻译总结如下:
-1.如下情况使用GET方法:客户端与服务端的交互像是一个提问(如查询操作、搜索操作、读操作)
2.如下情况使用POST方法:
1.交互是一个命令或订单(order),比提问包含更多信息
2.交互改变了服务器端的资源并被用户察觉,例如订阅某项服务
3.用户需要对交互产生的结果负责
根据HTTP协议规定,GET方法可以携带交互需要的所有数据,因此你会看到搜索百度或谷歌的时候,点击搜索形成的URL包含了你刚才的搜索关键字,没有安全需求的请求把信息放URL里没关系,但是你访问银行网站的时候,不希望把账户、密码这些放在URL里被人拦截是吧,所以HTTP设计了POST请求,他可以把请求信息放在HTTP请求里,具体格式这里不细说了,这样你就不能简单的从URL里找到账户、密码了。
比如:
get方法:查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
/test/demo_form.asp?name1=value1&name2=value2post方法:查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:
/test/demo_form.asp#
由此可见:
get和post方法的区别在于一个有缓存一个没有缓存,get方法会把我们浏览的界面一一缓存显示在URL网址中,可能会包括我们所输入的用户名和密码,安全性不高,而post没有缓存,安全性能要高一些。
get/post方法的主要区别
一般的区别:
1.post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)
2.post发送的数据量更大(get有url长度限制)
3.post能发送更多的数据类型(get只能发送ASCII字符)
4.post比get慢
get和post的比较
JQuery中AJAX的get和post的使用
本例子是用于与servlet操作登录的例子,之放部分代码:
<script type="text/javascript">
$(function(){
$('.tableBtn').click(function() {
var userName=$('input[name=userName]').val();
var password=$('input[name=password]').val();
// alert(userName+"_"+password);
// 异步提交
$.ajax({
type: 'get',//可改为post
url: 'Loginservlet',
data: {
keyUserName:userName,
keypassword:password
},
//回调函数通用的方法
success:function(data){
// alert(data);
$('#result span').text(data);
}
});
});
});
</script>
可看到这个属性:
type: ‘get’,//可改为post
本文参考:
W3school:http://www.w3school.com.cn/index.html