首页 >后端开发 >php教程 >GET和POST方法的区别是什么

GET和POST方法的区别是什么

青灯夜游
青灯夜游原创
2018-12-07 17:05:41101691浏览

GET和POST方法的区别是什么?本篇文章就给大家具体介绍GET和POST方法,让大家了解GET和POST方法的区别,希望对你们有所帮助。

GET和POST方法的区别是什么

Web浏览器通常会使用HTTP(超文本传输协议)的两种方法(GET方法和POST方法)其中之一来与服务器通信。这两种方法会以不同方式传递信息,将数据发送到服务器。下面我们就来具体看看GET方法和POST方法。

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"来发送信息。

POST方法

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

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

使用POST方法的优点和缺点

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

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

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

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

GET和POST方法的区别

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方法主要用于更新数据。

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

以上是GET和POST方法的区别是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关文章

查看更多