GET和POST方法(面试题)

GET和POST方法(面试题)

1、GET方法:

在GET方法中,数据将作为URL的参数发送(?之后的是传参内容),这些参数通常是由&符号分隔的名称和值对的字符串。通常,具有GET数据的URL将如下所示:

http://www.php.cn/action.php?name = john&age = 24

在URL中name和age都是GET参数,john和24是这些参数的值;多个“参数=值”可通过与&符号级联被嵌入URL里。人们只能通过GET方法发送简单的文本数据。

使用GET方法的优点和缺点
1、由于GET方法发送的数据显示在URL中,因此可以使用特定查询字符串值为页面添加书签。

2、GET方法不适合传递用户名和密码等敏感信息,因为这些信息在URL查询字符串中完全可见,并且可能作为访问页存储在客户端浏览器的内存中。

3、由于GET方法将数据分配给服务器环境变量,因此URL的长度是有限的。因此,要发送的总数据存在限制。

PHP提供了超全局变量$_GET来访问通过URL发送的所有信息;或使用HTML,通过HTML表单提交的信息method="get"来发送信息。

2、POST方法:

在POST方法中,数据作为包在与处理脚本的单独通信中发送到服务器;通过POST方法发送的数据在URL中不可见。

POST方法适用于可以传递大量信息的情况。当服务器通过采用POST的表单接收请求时,它在对URL进行请求之后立即传输表单输入的所有相关信息。

使用POST方法的优点和缺点
1、它比GET更安全,因为用户输入的信息在URL查询字符串或服务器日志中永远不可见。

2、可以传递的数据量有一个更大的限制,一个人可以使用POST发送文本数据和二进制数据(上传文件)。

3、由于POST方法发送的数据在URL中不可见,因此无法使用特定查询为页面添加书签。

PHP会提供另一个超全局变量$_POST来访问通过post方法发送的所有信息;或通过HTML表单使用method="post"来发送信息。

3、GET和POST方法的区别:

虽然,GET和POST方法都是将数据发送到服务器,与服务器进行通信;但这两种方法是不同的,下面我们就来看看GET和POST方法的区别。

1、发送的数据数量

在Get中,只能发送有限数量的数据,因为数据是在URL中发送的;

在POST中,可以发送大量的数据,因为数据是在正文主体中发送的。

2、安全性

GET方法发送的数据不受保护,因为数据在URL栏中公开,这增加了漏洞和黑客攻击的风险。

POST方法发送的数据是安全的,因为数据未在URL栏中公开,还可以在其中使用多种编码技术,这使其具有弹性。

3、加入书签中

GET查询的结果可以加入书签中,因为它以URL的形式存在;而POST查询的结果无法加入书签中。

4、编码

在表单中使用GET方法时,数据类型中只接受ASCII字符。

在表单提交时,POST方法不绑定表单数据类型,并允许二进制和ASCII字符。

5、可变大小

GET方法中的可变大小约为2000个字符。而,POST方法最多允许8 Mb的可变大小。

6、缓存

GET方法的数据是可缓存的,而POST方法的数据是无法缓存的。

7、主要作用

GET方法主要用于获取信息。而POST方法主要用于更新数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值