eason1874
2019-12-14 11:44:51 +08:00
你这 18 天前的帖子第一个回复居然是我,但你无视了我的评论。
别万恶了,你在原帖里说的东西基本上都是你自己脑补出来的。
原帖回复其他人说在发送请求方面 PUT 跟 POST 没区别,是对的。rfc2616 明确指出 PUT 和 POST 的本质区别是对 Request-URI 的含义不同,PUT 假设用户知道 Request-URI 代表什么,要求服务器必须把资源存储在 Request-URI 位置,如果没有就创建并返回 201,如果有就更新并返回 200 或 204,如果要应用在跟 Request-URI 不同的位置上必须返回 301 由用户决定要不要改变。POST 没有这种要求,服务器可以自己决定处理 Request-URI 这个位置的资源还是其他资源。
你说的什么 POST 适合小文件传输,PUT 适合大文件传输,没有这回事。什么 cURL 的 POST 和 PUT 对文件要求不一样,也没这回事。
POST 和 PUT 都能用 application/x-www-form-urlencoded (这是你说的用&分割)和 multipart/form-data (这是你说的一个内容)两种数据格式,前者适合简单的文本数据,后者适合大量数据和二进制数据(比如文件)。理论上所有 Content-type 都用,只要服务端支持。
无论是什么 Content-type 的内容都可以读到内存里再提交,或者指定文件流提交,这纯粹是客户端实现,你爱怎么实现怎么实现,cURL 两种方式都支持,并不会区别对待。