V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
cc959798
V2EX  ›  问与答

请问 Http 中各个方法的参数是如何传递的?

  •  
  •   cc959798 · 2016-05-09 21:39:00 +08:00 · 7940 次点击
    这是一个创建于 3154 天前的主题,其中的信息可能已经有所发展或是发生改变。

    GET 是附加在 URL 后的, POST 是报文体重,那 PUT 和 DELETE 方法的参数是怎样传递的呢?

    10 条回复    2016-05-10 21:53:32 +08:00
    Slienc7
        1
    Slienc7  
       2016-05-09 21:54:04 +08:00
    这种问题,去哪里搜都会有无数结果吧。
    bdbai
        2
    bdbai  
       2016-05-09 22:09:34 +08:00 via Android
    IMHO , POST 和 PUT 类似,都可以传输实体,通过 Content-Type 来表明媒体类型; GET 和 DELETE 类似,从 URL 、请求头部传参数。
    aprikyblue
        3
    aprikyblue  
       2016-05-09 22:15:36 +08:00 via Android
    似乎听人说过 http 标准并未规定在哪, get 和 post 的传参位置也只是浏览器的惯例实现, server 应该在哪传都能接收(没翻标准具体查证)
    jsonline
        4
    jsonline  
       2016-05-10 01:26:06 +08:00
    GET POST DELETE PUT 都可以用 query string 和 body 传参啊
    Perry
        5
    Perry  
       2016-05-10 02:16:42 +08:00
    Headers, URL Params, Body 都可以传,不过一般是 URL Params ,除了 POST 用 Body (Form URL-Encoded) 也比较多。
    binux
        6
    binux  
       2016-05-10 02:27:19 +08:00   ❤️ 1
    @aprikyblue 不能这么说, http 请求就 method, url, header, body 4 个部分。如果不纠结参数这个概念,你从 method, header 里面传过去, server 当然也能收到,但是这样有意义吗?
    dalaomj
        7
    dalaomj  
       2016-05-10 08:32:20 +08:00
    楼主是提问机
    sujin190
        8
    sujin190  
       2016-05-10 09:25:59 +08:00
    GET DELETE 发 body 标准实现的服务器根本收不到吧,我记得 http 标准中似乎说了了 GET DELETE 不能发送 body ,而且语义上来说确实不应该在 GET DELETE 上发送 body
    cc959798
        9
    cc959798  
    OP
       2016-05-10 09:34:00 +08:00
    @Slienc7 不好意思,原谅我愚蠢,我没搜到
    julyclyde
        10
    julyclyde  
       2016-05-10 21:53:32 +08:00
    @sujin190 常见服务器都收 GET 的 body ; DELETE ,语意上不应该有 body ,不过我认为不会拒收
    毕竟 web 服务器不亲自处理资源,谁知道后端的服务是咋想的,说不定后端服务脑残就想看看 DELETE 的 body 呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2733 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:56 · PVG 13:56 · LAX 21:56 · JFK 00:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.