网站首页 > 技术文章 正文
我们在Web表单提交,常常需要选择提交方法,这时我们会用到GET和POST方法。但关于它们之间的区别你又知道多少。今天我们就来了解它们
这两方法其实是HTTP协议中的请求方法(关于HTTP协议可以阅读之前我写的《解密Web通信协议——超文本传输协议》)我们先通过一个例子来看看它们之间的区别。
通过下面源代码来查看:
我们来看一下地址栏无输入时为:
file:///E:/~/~/Demo.html
我们测试时用户名和密码都为123456789
当我们用GET方法提交地址栏变为:
file:///E:/~/~/Demo.html?textfield=123456789&password=123456789&submit=提交#Url
再来看看post方法提交后为file:///E:/~/~/Demo.html#Url
我们不难看出当我们在输入密码时Get方法提交会把所有信息显示到地址栏,这样可以看出这样提交信息不安全。
它们没有很大区别都是TCP连接,但在HTTP规范不同和C/S限制导致它们有了区别如下:
- GET请求的数据会附在URL之后,以?分割URL,参数之间以&相连,POST方法把提交的数据放在HTTP包中。
- GET的长度受限于url的长度,理论上GET的URL长度可以无限长,但由于浏览器和服务器有限制。
- POST是没有大小限制的,HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力
- POST的安全性要比GET的安全性高前面已经提到
post和get的选择
私密性的信息请求使用post。
查询信息和可以想要通过url分享的信息使用get。
如果有任何错误和纰漏,请私信我更正。
如果你有任何意见一定要私信告诉我,让我快速成长起来哟。
猜你喜欢
- 2024-10-21 前端工程师进阶:网络请求方法详解,GET和POST的区别
- 2024-10-21 如何使用postman做接口测试(菜鸟级攻略)
- 2024-10-21 VB6多线程执行Get请求(基于Curl库)
- 2024-10-21 解Bug之路-记一次调用外网服务概率性失败问题的排查
- 2024-10-21 Java如何发起http请求的实现(GET/POST)
- 2024-10-21 「前端 · 面试 」HTTP 总结(五)——GET 和 POST
- 2024-10-21 第六天二次注入sqlmap简单参数(sqlmap注入攻击实例)
- 2024-10-21 使用cpp-httplib库实现轻松HTTP请求,GET、POST应有尽有
- 2024-10-21 Node实战004:使用http模块处理GET与POST请求
- 2024-10-21 基于Netty TCP自定义协议开发,支持百万连接
- 1507℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 519℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 489℃MySQL service启动脚本浅析(r12笔记第59天)
- 468℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 466℃启用MySQL查询缓存(mysql8.0查询缓存)
- 446℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 426℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 423℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)