21xrx.com
2025-04-01 01:47:30 Tuesday
  

HTTP 请求方法:GET vs POST

最常用的HTTP请求方法是:GET和POST.

HTTP是什么?

超文本传输协议(HTTP)旨在支持客户端和服务器之间的通信.

HTTP作为客户端和服务器之间的请求响应协议.

Web浏览器可以是客户端,而承载网站的计算机上的应用程序可以是服务器.

示例:客户机(浏览器)向服务器提交HTTP请求;然后服务器向客户端返回响应.响应包含有关请求的状态信息,也可能包含所请求的内容.

两个HTTP请求方法:GET和POST

用于客户端和服务器之间的请求响应的两种常用方法是:GET和POST.

  • GET - 从指定资源请求数据.
  • POST - 将要处理的数据提交到指定的资源.

GET方法

请注意,查询字符串(键/值对)是在GET请求的URL中发送的:
/test/demo_form.php?name1=value1&name2=value2
有关GET请求的一些其他说明:
  • 可以缓存GET请求
  • GET请求会留在到浏览器的历史记录里
  • GET请求可以被标记为书签
  • 在处理敏感数据时,不应使用GET请求
  • GET请求有长度限制
  • GET请求应仅用于检索数据

POST方法

请注意,查询字符串(名称/值对)是在POST请求的HTTP消息正文中发送的:
POST /test/demo_form.php HTTP/1.1
Host: 21xrx.com
name1=value1&name2=value2
有关POST请求的一些其他说明:
  • POST请求从不缓存
  • POST请求不会保留在浏览器历史记录中
  • POST请求不能设置为书签
  • POST请求对数据长度没有限制.

比较GET与POST

下表比较两个HTTP方法:GET和POST

GETPOST
后退按钮/再次加载没有任何不好的数据将重新提交(浏览器应提醒用户数据即将重新提交).
书签可作为书签不可作为书签
是否可缓存可以缓存不可以缓存
编码类型application/x-www-form-urlencodedapplication/x-www-form-urlencoded或multipart/form-data.对二进制数据使用后面一个
历史参数保留在浏览器历史记录中参数未保存在浏览器历史记录中
对数据长度的限制在发送数据时,GET方法将数据添加到URL;URL的长度是有限的(最大URL长度为2048个字符)无限制
对数据类型的限制只允许ASCII字符没有限制.也允许二进制数据
安全与POST相比,GET不太安全,因为发送的数据是URL的一部分.不要在发送密码或其他敏感信息时使用GET!POST比GET安全一些,因为参数没有存储在浏览器历史记录或web服务器日志中
是否可见数据对URL中的每个人都是可见的数据未显示在URL中

其他HTTP请求方法

下表列出了其他一些HTTP请求方法:

方法描述
HEAD与GET相同,但只返回HTTP头而不返回文档体
PUT上传指定URI的表示形式.
DELETE删除指定的资源
OPTIONS返回服务器支持的HTTP方法
CONNECT将请求连接转换为透明的tcp/ip隧道.
  
  

评论区

21技术    www.21xrx.com 备案号:蜀ICP备17043188号-2
请求出错了