`

Http请求get vs post

阅读更多

       在网站开发的过程中我们经常用到的http请求就是get和post,前端优化中有一条建议说多使用get方式的ajax请求,那么到底是为什么的?在这里,我们先了解一下两种请求方式。

 

get请求方式

 

数据是通过地址栏传递的 ( /test/demo_form.asp?name1=val1&name2=val2)

get请求的其他特点:

1.get请求可以被缓存

2.get请求将会被记录在浏览器历史记录

3.get请求可以保存为书签

4.get请求有长度限制

5.get请求一般被用来获取数据

 

post请求方式

 

数据是通过http message body 传递的

post请求的其他特点:

1.post请求不能被缓存

2.post请求不能被记录在浏览器历史记录中

2.post请求不能被保存为书签

3.post请求没有长度限制

 

get  vs  post

 

   GET  POST
 点击返回按钮或者刷新  无害  数据将会被重新提交
 书签  可以保存为书签  无法保存为书签
 缓存  可以被缓存 无法被缓存 
 编码类型  application/x-www-form-urlencoded  application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data
 历史记录  被记入历史记录 无法记入历史记录 
 数据传输长度限制  有限制,于浏览器有关  没有限制
 数据类型限制  只能使用ASCII  没有限制,二进制数据也可以
 保密性  数据暴漏在地址栏,不安全(不要使用get方式传递一些敏感信息,比如说用户名,密码)  post比get安全些,因为数据不会保存在浏览器历史记录,或者网络日志
 可见性  数据通过地址栏传输,每个人都可以看到,不安全  数据不是通过地址栏传递

 

我推荐,获取数据用get,传递数据用post

 

 其他http请求

 

方式 描述
HEAD 只返回HTTP headers,不返回document body,其他与get没有什么区别
PUT 上传至制定的URI
DELETE 删除指定的资源
OPTIONS 返回服务器所支持的HTTP方法
CONNECT 将求连接到一个明显的TCP/IP通道

 

英文原文:http://www.w3schools.com/tags/ref_httpmethods.asp

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics