GET、POST和REQUEST

GET请求

特点:

1、请求服务器信息资源
2、数据传输在URL后 以 ? 分割多个参数用 & 连接。 URL采用的是ASCII,需要先转换成ASCII再进行数据传输
3、数据长度一般不超过 2KB
4、服务端在地址栏接收参数 Request.QueryString 获取参数
5、数据显式显示安全度相对较低

POST请求

特点:

1、表单中的各段内容放到HTML HEADER中一起传送到ACTION属性指定的URL地址。用户看不到此过程
2、传送数据量大,一般没有限制
3、服务器接收表单 Request.Form 获取提交数据
4、数据传输性相对较好

$_REQUEST

支持GET和POST两种传输方式,是PHP预定义的超级全局变量

GET和POST的本质

GET/POST是HTTP协议中的两种发送请求方法,HTTP底层是TCP/IP,所以本质上GET和POST是没有区别的。
HTTP作为传输协议标准,对其进行了区分。

GET传输数据流程

GET数据传输只传输一次

浏览器将HTTP header和data一并发出,服务器响应200(返回数据)

POST传输数据流程

POST数据传输传输两次

浏览器先发送header,服务器响应100,继续浏览器发送data服务器响应200(返回数据)

GET传输方式和POST传输方式比较

1、GET与POST都有自己的传输规则
2、在网络环境好的前提下,发一次包和发两次包的时间差距可以忽略;在网络环境不好的前提下,发两次包更能验证数据包的完整性
3、并不是所有的浏览器都会在POST中发送两次包(火狐,只发一次包)

   转载规则


《GET、POST和REQUEST》 Evolyutsiya 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录