HTTP 方法参考

  • HTTP请求方法

    两种最常见的HTTP方法是:GETPOST

    HTTP(超文本传输​​协议)旨在实现客户端和服务器之间的通信。
    HTTP用作客户端和服务器之间的请求 - 响应>协议。
    Web浏览器可以是客户端,并且托管网站的计算机上的应用程序可以是服务器。
    例如:客户端(浏览器)向服务器提交HTTP请求; 然后服务器向客户端返回响应。响应包含有关请求的状态信息,还可能包含请求的内容。

    HTTP的通信方法有如下几种:

    • GET
    • POST
    • PUT
    • HEAD
    • DELETE
    • PATCH
    • OPTIONS
  • GET方法

    GET用于从指定资源请求数据。
    GET是最常用的HTTP方法之一。
    请注意,查询字符串(键/值对)在GET请求的URL中发送:

    /jc_script/encodeurl.php?name1=value1&name2=value2

    关于GET请求的一些其他说明:

    • GET请求可以缓存
    • GET请求保留在浏览器历史记录中
    • GET请求可以加入书签
    • 在处理敏感数据时,绝不应使用GET请求
    • GET请求有长度限制
    • GET请求仅用于请求数据(不修改)
  • POST方法

    POST用于将数据发送到服务器以创建/更新资源。使用POST发送到服务器的数据存储在HTTP请求的请求主体中:

    POST /jc_script/urlencode.php HTTP/1.1
            Host: cainiaoya.com
            name1=value1&name2=value2

    POST是最常见的HTTP方法之一。

    关于POST请求的一些其他说明:

    • POST请求永远不会被缓存
    • POST请求不会保留在浏览器历史记录中
    • POST请求无法加入书签
    • POST请求对数据长度没有限制
  • PUT方法

    PUT方法用于将数据发送到服务器以创建/更新资源。
    POST和PUT之间的区别在于PUT请求是等幂的。也就是说,多次调用相同的PUT请求将始终产生相同的结果。相反,重复调用POST请求会产生多次创建相同资源的副作用。

  • DELETE方法

    DELETE方法删除指定的资源。

  • OPTIONS方法

    OPTIONS方法描述了目标资源的通信选项。

  • 比较GET和POST

    下表比较了两种HTTP方法:GET和POST。

    比较项 GET方法 POST方法
    后退按钮/重新加载 无影响 数据将被重新提交(浏览器应该提醒用户数据即将被重新提交)
    书签 可以在书签保存 不能保存到书签
    缓存 可缓存 不能缓存
    编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded
    或者multipart/form-data。对二进制数据使用multipart/form-data
    历史记录 参数保留在浏览器历史记录中 参数不会保存在浏览器历史记录中
    数据长度限制 是的,当发送数据时,GET方法将数据添加到URL;
    URL的长度是有限的(最大URL长度是2048个字符)
    无限制
    数据类型限制 只允许ASCII字符 没有限制。二进制数据也是允许的
    可见性 URL中的每个人都可以看到数据 URL中没有显示数据
    安全 GET没有POST那么安全,因为发送的数据是URL的一部分,
    在发送密码或其他敏感信息时永远不会使用GET !
    POST比GET安全一点。
    因为参数不存储在浏览器历史记录