- GET和POST请求,是HTTP协议下常用的两种请求网络数据的方法.
GET请求
GET
的本质是得
.- 从服务器获取数据,效率比
POST
高. - GET请求能够被缓存
- 在 HTTP 协议定义中,没有对
GET
请求的数据大小限制,不过因为浏览器不同一般限制在2~8K
之间. - GET发送请求时,URL中除了资源路径以外,所有的参数(查询字符串)也包装在URL中,并且服务器的访问日志会记录,不要传递敏感信息.
- 参数格式
- 在资源路径末尾添加
?
表示追加参数. - 每一个变量及值按照
变量名=变量
值 方式设定,不能包含空格或者中文. - 多个参数使用
&
连接. - 注意 : URL 字符串中如果包含空格或者中文,需要添加百分号转义.
- 在资源路径末尾添加
浏览器可以监视
GET
请求.
POST请求
POST
的本质是给
.- 向服务器发送数据,也可以获得服务器处理之后的结果,效率不如
GET
. - POST请求不能被缓存.
- POST提交数据比较大,大小靠服务器的设定值限制,PHP通常限定 2M.
- POST发送请求时,URL中只有资源路径,但不包含参数,服务器日志不会记录参数,
相对更安全
. - 参数被包装成二进制的数据体,格式与 GET 基本一致,只是
不包含 ?
. - 注意 : 所有涉及到
用户隐私
的数据(密码,银行卡号)一定记住使用POST
方式传递.
浏览器可以监视
POST
请求.但是不容易捕捉到.