PHP中GET和POST的区别

来源:互联网 发布:eve四种泰坦数据 编辑:程序博客网 时间:2024/05/18 02:52

GET是HTTP中最原始的请求方式,在网页中点击一个超级链接或在地址栏输入一个URL都会发送一个GET请求。在GET请求中,数据是后缀在URL后面来发送的。

GET方法的本意就是下载(与其对应的是上传方法PUT),因此并不是专门用于传递数据的,它将请求数据全部经过URL编码后缀在请求资源的后面,这样一来,当数据很多时URL就会变得很长——但这并不是问题的所在,问题所在是一些WEB浏览器或服务器程序会限制这行字符串的长度。这时,就需要用到 POST方法了。

顾名思义,POST方法的主要用途就是“传递”数据,它将数据放在所有请求标题的后面上传,这样一来,无论有多少数据上传都不成问题了(这样请求数据的大小之取决于WEB服务允许的尺寸了)。通常来说,对于表单数据如无特别需要都使用POST方法来上传,这样就无须去关心具体上传数据的尺寸了。


区别:

1. get是从服务器上获取数据;

   post是向服务器传送数据。

2. get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到;

   post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML header内一起传送到action属性所指的URL地址。用户看不到这个过程。

3. 对于get方式,服务器端用Request.QueryString获取变量的值;

   对于post方式,服务器端用Request.Form获取提交的数据。

4. get传送的数据量较小,不能大于2KB;

  post传送的数据量较大,一般被默认为不受限制。

5. get执行效率却比post方法好;

   post安全性比get较高(包含机密信息的话,建议用Post数据提交方式)。

6. 在做数据查询时,建议用get方式;

   在做数据添加、修改或删除时,建议用post方式;

原创粉丝点击