当前位置:首页 > 综合 > 网页post

网页post

2026-10-17 05:44:45 [休闲] 来源:力不从心网

你填完登录框,网页点下那个“登录”按钮。网页浏览器弹出一个提示:“确认重新提交表单?网页”——这场景太常见了,常见到大多数人直接点“继续”,网页然后页面刷新,网页一切正常。网页但如果你正好在买一张限量球票,网页或者提交一份已经填了半小时的网页报销单,这一下可能会让你骂出声来。网页

这就是网页网页 POST 最直观的“副作用”。它不像 GET 那样把参数挂在 URL 后面,网页你一眼就能看见。网页POST 把数据塞进 HTTP 请求的网页 body 里,地址栏干干净净。网页好处是网页能传大量数据、传文件、传密码——坏处是,刷新页面时浏览器不知道你刚才到底干了什么,于是它谨慎地问一句:要不要再发一次?

一个请求,两种姿势

GET 和 POST 的区别,很多人背过八股文:GET 是获取数据,POST 是提交数据。这话没错,但不够用。真正有意思的是它们在网络层的表现。

你打开一个商品详情页,浏览器发的是 GET。URL 里带着商品 ID,比如 /item?id=12345。服务器返回 HTML,浏览器渲染出来。整个过程是“读”。你点“加入购物车”,浏览器发的是 POST。请求体里可能藏着 item_id=12345&quantity=1&csrf_token=...。服务器收到后,改数据库,返回一个重定向或者成功状态。整个过程是“写”。

读操作可以缓存、可以收藏、可以分享链接。写操作不行。你没法把“转账 500 块”这个动作做成一个 URL 发给朋友,说“你点一下”。这就是设计上的根本区分:GET 应该是幂等的——发一次和发十次,服务器状态不变。POST 不保证这个。

CSRF 和那个隐藏字段

POST 有个经典安全问题:跨站请求伪造。假设你登录了银行网站,cookie 还在。然后你手滑点开一个恶意页面,里面藏着一个自动提交的表单,action 指向银行转账接口,收款人写的是攻击者。浏览器一看,目标域名是银行,cookie 自动带上,POST 请求就发出去了。银行服务器无法区分这是你本人操作还是恶意页面伪造的。

解决办法之一是在表单里塞一个随机 token,服务器端也存一份。每次 POST 必须带上这个 token,恶意页面拿不到,请求就废了。你打开任何正经网站的源代码,搜 csrf 或者 _token,大概率能找到那个隐藏的 input。这东西不显眼,但没它,很多网站就是裸奔。

表单编码那点事

POST 请求体不是随便写的。浏览器提交表单时,默认用 application/x-www-form-urlencoded 编码,长得像 name=value&name2=value2,特殊字符会被百分号转义。如果表单里有文件上传,编码会变成 multipart/form-data,每个字段用 boundary 隔开,二进制文件直接塞进去。这两种格式服务器端解析方式不同,写后端时如果搞混,就会收到空值或者乱码。

还有第三种:application/json。这不是 HTML 表单默认的,而是前端用 fetch 或 XMLHttpRequest 手动设置的。现在前后端分离的项目里,JSON 才是主流。你打开开发者工具,Network 面板里看 POST 请求,Payload 标签下经常是一坨 JSON。服务器拿到后解析,比表单编码灵活得多。

刷新之后发生了什么

回到开头那个提示。浏览器为什么问?因为 POST 请求通常对应一个“动作”,而不是一个“资源”。你提交订单,服务器创建了一条记录。如果刷新时再发一次,可能就创建了第二条。浏览器没法知道服务器端是不是幂等的,所以它选择问用户。

解决方案是 PRG 模式:POST 处理完后,服务器返回 302 重定向到一个 GET 页面。浏览器自动跳转,地址栏变成 GET URL。这时候再刷新,只是重新 GET 那个页面,不会重复提交。你平时购物下单后跳转到“订单成功”页,就是这个模式。

所以下次看到那个“确认重新提交表单”的弹窗,别急着点。想一下:你刚才那个操作,重复一次会怎样?如果答案是“会多扣一笔钱”或者“会多发一条评论”,那就老老实实关掉页面,重新走一遍流程。POST 不负责帮你记住状态,它只负责把数据送出去。

(责任编辑:热点)

推荐文章
  • 知乎评论被删除

    知乎评论被删除 删除通知弹出来的瞬间,我正端着咖啡准备享受一段“高质量信息摄入”。屏幕上那行灰底小字——「您的评论因违反《知乎社区管理规定》已被删除」——像一记闷拳,不重,但足够让人愣住。 我回头翻了翻那条评论。没脏 ...[详细]
  • 2023年春节开工模板免费千图云

    2023年春节开工模板免费千图云 千图云这个平台,我盯了它三年。往年春节开工,它家模板总是一股子“恭喜发财”的油腻感,大红大金配灯笼,看得人眼皮打架。今年不一样,2023年开工模板,居然走起了“性冷淡”路线——灰白底,细黑线,中间一行 ...[详细]
  • 可以免费上课的网站

    可以免费上课的网站 我去年失业那阵子,靠三个免费网站自学了Python和数据分析,最后转行成功。这事让我彻底相信,互联网上最值钱的东西,往往不要钱。 第一个要说的,是Coursera。别急着关页面,它确实有付费证书,但旁 ...[详细]
  • 网站建设方案

    网站建设方案 三年前我帮一个做手工艺品的客户搭站,对方开口就要“高大上”,预算却只有八千。最后方案砍掉了所有花哨的视差滚动,改用大图加极简排版,上线三个月,询盘量反而涨了四成。这事让我彻底明白,网站建设方案的核心从 ...[详细]
  • 滁州市江山书记死亡

    滁州市江山书记死亡 2023年4月28日傍晚,滁州市来安县新安镇的一条乡间小路上,一辆黑色轿车撞上路边杨树。车内坐的是来安县委书记——江山。车头凹陷,安全气囊弹出,人被卡在驾驶座上。等消防破拆完,人已经没了气息,终年56 ...[详细]
  • Safe3Web漏洞扫描系统

    Safe3Web漏洞扫描系统 Safe3Web漏洞扫描系统:一台不知疲倦的“黑客” 凌晨两点,某金融公司的安全工程师老张收到一条告警短信。他打开Safe3Web的扫描报告,发现一个隐藏在支付接口里的SQL注入点——这个漏洞若被利用 ...[详细]
  • 渗透提权什么意思

    渗透提权什么意思 渗透测试里最刺激的阶段,就是提权。说白了,你通过漏洞打进去,拿到的是一个普通用户的权限,就像溜进一栋大楼,但只混到了前台的门禁卡,能进大厅,但进不了机房。提权,就是想办法把这张前台卡,换成保安队长甚至 ...[详细]
  • 招商加盟网

    招商加盟网 招商加盟网,说到底就是一个“卖项目”的集市。但集市里摆摊的,有卖真货的,也有卖铲子的——关键是,有些摊主连铲子都没有,只卖一张图纸。 我见过一个做餐饮加盟的老板,在二线城市开了三家直营店,生意火爆到排 ...[详细]
  • 2022网络安全事件案例

    2022网络安全事件案例 2022网络安全事件案例:当勒索软件盯上关键基础设施 2022年2月24日凌晨,乌克兰政府机构、银行和能源系统的电脑屏幕上突然弹出红色警告——数据被加密,文件后缀变成`.payback`。这不是演习, ...[详细]
  • 长沙米拓网站侵权怎么解决

    长沙米拓网站侵权怎么解决 长沙米拓的网站侵权官司,这几年在湖南甚至全国的中小企业圈子里,简直成了“标配”噩梦。我接触过的客户里,十个做传统生意的,至少五个收到过他们的律师函或法院传票。别慌,这事有解,但解法不在法庭上硬刚,而在 ...[详细]
热点阅读