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方法的区别。
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方法主要用于更新数据。
总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。
Atas ialah kandungan terperinci GET和POST方法的区别是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!