【php网络 基础知识】详解get、post请求、文件上传
来源:互联网 发布:单片机led 编辑:程序博客网 时间:2024/05/18 11:47
由客户端向服务器端传数据的两种方式:get、post
服务器端接收数据,php有三种方式:$_GET、$_POST、$_REQUEST
第一种:get请求,数据存储在$_GET数组中
注意:$_GET数组中的数据已经过urlencode()处理(这个很容易忽略)
历史:4.1.0之前,使用get方式传输的数据保存在$_HTTP_GET_VARS数组中,$_HTTP_GET_VARS不是一个超全局变量,4.0.1之后,弃用$_HTTP_GET_VARS,改用$_GET
最大长度问题:RFC协议并没有做最大长度限制,这个是由不同的浏览器厂商定的,并且同一浏览器的不同版本也有不同,面对这些不确定,开发人员只要做到get请求的url不要过长即可(post请求的最大长度是由服务器限制的,为何浏览器厂商要对get请求数据长度做这样的显示而对post请求没有,想不通)
安全问题:只要是用户传输到服务器的数据都是不可信的,对于get请求传输的数据作何处理能保证安全最大化呢?
被遗忘的用法:post请求时,有时会用这种方式传一个数组,get请求也可以,如:index.php?name[]=xing&name[]=dian
<input name="name[]" /><input name="name[]" />
第二种:post请求,数据存储在$_POST数组中
注意:$_POST数组中的数据未经过urlencode()处理(这个很容易忽略)历史:4.1.0之前,使用post方式传输的数据保存在$_HTTP_POST_VARS数组中,$_HTTP_POST_VARS不是一个超全局变量,4.0.1之后,弃用$_HTTP_POST_VARS,改用$_POST
最大长度问题:受php.ini中的参数post_max_size影响,默认2M
安全问题:只要是用户传输到服务器的数据都是不可信的,对于post请求传输的数据作何处理能保证安全最大化呢?
第三种:$_REQUEST(实际开发中基本不用,缺点太多)
缺点:
1、get、post请求传输的数据都可存储在$_REQUEST数组中,如果参数名相同就会造成覆盖
2、不安全
3、没必要,如下代码:
$data = empty($_POST)? $_GET : $_POST;
- 【php网络 基础知识】详解get、post请求、文件上传
- 网络编程之get,post请求,文件上传及下载
- 快捷使用Retrofit网络请求框架(get请求,post请求,上传文件)
- Http get、post请求、文件上传
- PHP 版HTTP GET,POST,上传文件
- 网络请求(get&&post)
- 网络请求(get Post)
- 09 - get请求、post请求、httpclient、文件上传
- 使用OKHttp3 get请求 , post请求 , 多文件上传 , 包看包会
- 使用OKHttp3 get请求 , post请求 , 多文件上传 , 包看包会
- post请求和get请求的区别(文件上传)
- php post get请求
- php get post 请求
- get,post请求详解
- 网络请求 NSURLsession(get、post、下载、上传)
- 使用okhttp进行图片下载,上传,get,post网络请求
- OKhttp:Get同步请求丶Get异步请求丶Post异步请求丶上传文件
- OKhttp:Get同步请求丶Get异步请求丶Post异步请求丶上传文件
- Git指令(不定期更新)
- 一次nginx 502 & mysql not contect 排错经历
- Cocos容器——Vector
- 数据存储--文件存储
- ajax 从后台获取json格式 提示 parseerror
- 【php网络 基础知识】详解get、post请求、文件上传
- Cocos设计分辨率(glView)
- HDU 5651 xiaoxin juju needs help
- Kubernetes1.1源代码分析(二)
- JavaScript闭包
- 个人介绍 真实版本 vs 社会主义接班人版本
- CocosGUI---Label
- SQL的join操作
- 【坑】strust2中突然访问不了了的原因