当用户使用 POST 方法提交 HTML 表单时,数据传输的基本步骤是什么?
我搜索了答案,但主要是讨论 POST 方法和 GET 方法之间的区别以及在哪里使用它们。
简单的答案是表单的所有数据都被编码为字节数组并放入 HTTP 请求的消息体中。但是,太笼统了。我想知道具体步骤。
忽略服务器决定如何处理数据,不,不是真的。
编码数据的格式由content-type
表单标签中指定的格式决定,默认与“?”之后的格式几乎相同。在您使用时将构建的 URL 中method="GET"
(请参阅W3 规范)
所做的具体步骤与发送 HTTP 请求有关,与使用的方法无关(GET/POST/PUT/DELETE/OPTIONS/HEAD)。
POST 和 GET 之间存在差异 - 但这些差异主要是由于约定:让我们以 REST Web 服务为例,GET 用于(按约定)获取资源,而 POST 用于创建资源和 PUT -修改现有的。
也有一些限制差异,但同样 - 由于实现,这些限制存在,例如:IE 只能在 URL 中保存 2048 个字符,Tomcat Apache 最多支持 4000 个字符 - 所以从浏览器发出的 GET 请求是有限的,而 POST 请求不是。