Http请求get vs post
程序员文章站
2022-06-05 23:05:34
...
在网站开发的过程中我们经常用到的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通道 |
推荐阅读
-
post请求上传文件和文本时http格式
-
php 利用socket发送HTTP请求(GET,POST),socketget_PHP教程
-
PHP模拟发送POST请求之三、加强file_get_contents发送POST请求
-
post请求重定向到get请求问题
-
php自定义类fsocket模拟post或get请求的方法_PHP
-
微博开发1客户端的http的get和post封装
-
java发送http get请求的两种方式
-
java发送http get请求的两种方法(总结)
-
浅谈IOS中AFNetworking网络请求的get和post步骤
-
Python 使用requests模块发送GET和POST请求的实现代码