美文网首页
Http Post Get 详解

Http Post Get 详解

作者: Moo2077 | 来源:发表于2020-05-14 23:13 被阅读0次

    Http 请求中,参数如何传递

    GET:
    单纯在url后面加入
    www.server.com?[arg1]=[value1]&[arg2]=[value2].....

    例如:
    www.server.com?a=1&b=2.......

    那么服务器可用轻易的获取到表单内a=1,b=2的值
    *有限制 1KB~2KB,视协议版本而定,所以参数不要拼得太长,否则就出错

    POST:
    采用3种形式发送参数(任意数据)

    1. application/x-www-form-urlencoded
    转码后传过去,多用于简单的参数传递

    a=1&b=2
    

    2. multipart/form-data
    编码,表单方式传过去,其中-----boundry可以任意指定,属于分隔符

    -----boundry
    Content-Disposition: form-data; filename="a"
    \r\n
    1
    -----boundry
    Content-Disposition: form-data; filename="b"
    \r\n
    2
    -----boundry
    

    这里讨论下文件如何上传

    //这里属于可选是否添加表单参数
    -----boundry
    Content-Disposition: form-data; name="a"
    \r\n
    1
    -----boundry
    Content-Disposition: form-data; name="b"
    \r\n
    2
    -----boundry
    Content-Disposition: form-data; name="file"; filename="upload.txt"
    Content-Type: application/octet-stream
    \r\n
    //文件内容 例如:1234567890
    -----boundry
    

    3. application/json
    Json方式传过去

    {"a"=1, "b"=2}
    

    参数不再拼接在url中,而是放在数据流里面,---也可以拼接上去,应该属于异曲同工之妙---(不保证对)
    其中1,2方式都是标准的方式,第三种要看服务器支持,其实说白了就看服务器怎么写的,如果你们自定义特殊格式也没问题,比如bson,protobuf

    相关文章

      网友评论

          本文标题:Http Post Get 详解

          本文链接:https://www.haomeiwen.com/subject/bssfohtx.html