在网站开发的过程中我们经常用到的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)的...两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据
C# http Get/POST请求封装类
VC++ HTTP Get Post请求
C++实现HTTP的GET,POST请求及HTTPS的请求
Delphi两种方法演示HTTP请求:GET/POST方法使用演示,程序将演示使用这两种方法建立会话、建立一个http请求句柄、发送一个指定请求到httpserver、接收header信息和一个http请求、指向一个接收请求信息的缓冲区的指针...
用HTML页面模拟测试get/post请求,psot请求参数的格式为json串
利用Boost::Asio库来实现Post/Get请求的发送。可以快速开发c++的http请求,访问以http为协议的服务器示例代码。
Retrofit网络请求,内含GET、POST请求,POST请求需要用自己的服务器针对性接口测试、GET请求公开接口测试,解析内容简单按需自己项目,很好的框架通俗易懂
winform GET请求和POST请求! 很值得下载看看!资源免费,大家分享!!
http get post 请求模拟器
基于VS2010利用C#实现HTTP在 GET和POST方法的样例代码,提供大家学习参考。欢迎下载学习
java调用HTTP接口(Get请求和Post请求)
java发送http/https请求(get/post)代码,java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法
C# 使用Get和Post请求获取数据,Get Post 请求, POST传值
利用这两个jar包,很简单的用java实现httpget和httppost请求。
使用qt写的请求http服务类,实现了get同步请求、get异步请求、post同步请求、post异步请求。4个方法,方便实用。
mfc http post 和get 请求
完整的java发送http包工程,可发送get及post请求。
C#-HTTP请求(Post,GET,表单)