HTTP 方法:GET与POST 区别(from w3schools)

HTTP 方法:GET与POST


两个最常用的HTTP方法:GET和POST。


HTTP是什么?

超文本传输​​协议(HTTP)的目的是使客户端和服务器之间的通信。

HTTP客户端和服务器之间的请求 - 响应协议。

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

例如:客户端(浏览器)提交的HTTP请求到服务器,然后服务器返回一个响应给客户端。响应中包含有关请求和状态信息也可以被请求的内容。


两个HTTP请求方法:GET和POST

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

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

GET方法

需要注意的是发送一个GET请求的URL查询字符串(名称/值对):

/test/demo_form.asp ?name1=value1&name2=value2

GET请求的一些其他注意事项:

  • GET请求可以被缓存
  • GET请求留在浏览器历史记录
  • GET请求可以被保存为书签
  • GET请求不应该被用来处理敏感数据时,
  • GET请求有长度限制
  • GET请求,应只用于检索数据

POST方法

注意:在HTTP消息主体的POST请求发送的查询字符串(名称/值对):

POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

在POST请求的一些其他注意事项:

  • POST请求是不会被缓存
  • POST请求不留在浏览器历史记录
  • POST请求不能书签
  • POST请求的数据长度没有限制

比较GET与POST

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

GET                                                               POST                                                      
BACK按钮/重载 无害 数据将被重新提交(浏览器应该提醒用户重新提交的数据)
书签 可以加书签 无法添加书签
缓存 可以缓存 不缓存
编码类型 应用程序/ x - www的形式,进行了urlencoded 应用程序/ x - www的形式,进行了urlencoded的multipart / form-data的。使用多编码的二进制数据
历史 参数保持在浏览器历史记录 参数不保存在浏览器历史记录
数据长度的限制 是的,当发送数据时,GET方法将数据添加到的URL和一个URL的长度是有限的(URL最大长度为2048个字符) 没有限制
数据类型的限制 只有ASCII字符 没有任何限制。二进制数据,也允许
安全 相比POST,GET安全性较差,发送数据的URL 发送密码或其他敏感信息时,切勿使​​用GET!

POST比GET更安全一点,因为参数不是存储在浏览器历史记录或在Web服务器日志
能见度 数据是每个人都在URL中可以看到 数据没有显示在URL中,

你可能感兴趣的:(http html)