请求方法、安全性与幂等
HTTP、Web 与浏览器原理#Python全栈#第九阶段#HTTP、Web 与浏览器原理#请求方法、安全性与幂等约 632 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
GET 与 POST 的语义区别是什么?
追问 为什么不能仅用“参数在 URL 还是消息体”来区分?为何 POST 不天然比 GET 安全?
什么是 HTTP 方法的安全性,什么是幂等性?
追问 它们描述预期业务语义还是所有实现细节?访问日志是否会让 GET 自动变成不安全方法?
PUT 与 PATCH 通常怎样表达资源修改?
追问 完整替换与部分修改怎样约定?PATCH 是否天然幂等,为什么要看具体补丁操作?
DELETE 的幂等性如何理解?
追问 第一次删除返回成功,第二次返回资源不存在,为什么仍可能符合幂等语义?
HEAD 与 GET 有什么关系?
追问 为什么 HEAD 响应不发送消息体,却可能包含表示资源大小的 Content-Length?它适合检查什么?
OPTIONS 可以表达哪些能力查询?
追问 普通 OPTIONS 与浏览器跨域预检有什么关系?为何不能把所有 OPTIONS 都当作跨域预检?
为什么不应使用 GET 执行注销、删除或支付等业务变更?
追问 浏览器预取、爬虫、链接访问与缓存可能怎样触发意外操作?
请求超时后是否可以直接重试?
追问 读取操作与创建订单怎样分别判断?服务端已执行但响应丢失时,如何避免重复业务效果?
HTTP 无状态是什么意思,为什么网站仍能识别已登录用户?
追问 协议本身不保存业务会话与应用维护会话记录有什么区别?无状态是否意味着每次都建立新连接?
连接复用与 HTTP/2 多路复用分别改善什么?
追问 同一连接处理多次请求与并发流有什么区别?HTTP/2 为什么仍可能受 TCP 丢包的传输层队头阻塞影响?