php中post提交参数_PHP中Http协议post请求参数
这篇文章主要介绍了Http协议post请求参数的相关资料,需要的朋友可以参考下
本文给大家介绍PHP中Http协议post请求参数,具体内容如下所示:
WEB开发中信息基本全是在POST与GET请求与响应中进行,GET因其基于URL的直观,易被我们了解,可POST请求因其信息的隐蔽,在安全的同时,也给开发者们模拟发送带来了麻烦。接下来的几篇博文中,我将结合自己的笔记和理解,详细解释PHP进行POST请求的几种方法,如有错误,烦请指正。
HTTP协议信息是WEB开发中的一项重要内容,了解它可以帮助我们更深刻地理解BS交互,也有利于我们从更底层理解WEB开发。HTTP协议是一种简单灵活方便的通讯协议,并且要记住,它是一种无状态的协议,即它是一种无记忆的协议,每一次的交互都是单独的。
我们可以用浏览器的开发工具(IE的F12 火狐的FireBug等)的“网络”面板来查看HTTP头信息。
一般地HTTP头信息分为三类:请求信息,响应信息和交互信息(个人认为也是请求信息的一种)。
1,请求信息:
在访问一个网站时会由客户端发出请求信息,此信息不带有数据,只是单纯地向服务器接触,促使服务器返回响应信息。
其格式为两部分:请求行和消息报头。
A.请求行: method(请求方法) path(请求站内地址) HTTP/version(协议/版本信息)
常见的请求方法有GET/POST/HEAD/OPTION等
B.消息报头:
Host(必须):主机和端口号,端口号默认为80
Accept:期望接收内容类型(image/gif text/html */*)
Accept-Encoding:期望接收的压缩类型(gzip deflat)
Accept-Charset:期望接收的字符集(utf-8)
Accept-Language(zh-CN)
Cookie:用户的Cookie信息
Connection:连接控制
User-Agent:客户端信息
... ...
以下是一个典型的请求头信息:
GET index.php HTTP/1.1
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:SOHUHOMETAB=visit:2; IPLOC=CN1407; SUV=1510312046259910
Host:www.sohu.com
If-Modified-Since:Sat, 31 Oct 2015 12:45:22 GMT
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36
2,响应信息
服务器返回数据
响应信息分为三部分:状态行 消息报头 响应正文
A.状态行:HTTP/version(协议/版本信息) 状态码 状态文本(对状态码的文本描述)
状态码共有5类:
1XX:表示临时响应,需要请求者继续操作
2XX:表示响应成功,服务器成功地响应了请求
3XX:表示重定向,需要请求者进一步操作
4XX:表示客户端错误,服务器无法正常响应
5XX:表示服务器端错误,服务器无法正常响应
具体信息可参考:HTTP状态码详解
B.消息报头:
Server:服务器信息
Content-Encoding:数据压缩格式
Content-Length:数据长度
Content-Type:数据类型
Cache-Control:缓存控制
Connection:连接控制
Date:日期信息
Expires:返回数据的过期信息
Last-Modified:返回最后的修改时间
Set-Cookie:设置客户端的Cookie信息
... ...
C.响应正文
即返回的页面数据,在页面以HTML文档形式表现出来。
以下是常见的响应消息
HTTP/1.1 200 OK
Cache-Control:no-cache
Connection:close
Content-Encoding:gzip
Content-Length:6947
Content-Type:text/html; charset=GBK
Date:Sat, 31 Oct 2015 13:30:11 GMT
Expires:-1
Pragma:no-cache
Proxy-Connection:keep-alive
Server:nginx/1.2.5
Set-Cookie:JSESSIONID=yiuug4yejhc1cdbzydoxlcpn;Path=/
3,交互信息
是包含了请求数据的请求信息 常见于用户上传文件 注册等
其分为三部分:请求行 消息报头 请求正文
A.与请求信息的请求行相同
B.在请求报头的基础上添加了有关请求正文的数据
Content-Type:上传信息的内容类型
Content-Length:上传信息的长度
... ...
C.请求正文:
即请求的具体数据串(name=xxx&passwork=xxx),当然为了安全起见,有时会对POST信息加密编码。
以下是典型的请求消息:
GET login.php HTTP/1.1
Host:passport.sohu.com
Accept:text/html,application/xhtml+xml,application/xml
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:166
Content-Type:application/x-www-form-urlencoded
Referer:http://mail.sohu.com/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36
Form Data
domain=sohu.com&callback=passport20008375022711697966_cb1446298206568&appid=1113&userid=FDFFDF%40sohu.com&password=a3f4384c2bc44fa909ffd0ecc5fa8eb9&persistentcookie=0
明白了浏览器都往服务器上发送了些什么,那用其他方法伪装成一个服务器也就不是难事了。
下一节我会介绍PHP和JS处理最基本URL的方式,解决GET请求部分的同时,也将模拟发送POST请求的准备做足。
如果您觉得本博文对您有帮助,您可以推荐或点赞,如果您有什么问题,也可以在下方留言,一块讨论,谢谢。
php中post提交参数_PHP中Http协议post请求参数相关推荐
- php中define的参数_php中define的用法有哪些
php中define的用法:1.[define()]函数定义一个常量:2.定义常量名称及值,代码为[define(name,value,case_insensitive)]:3.定义一个大小写敏感的常 ...
- php函数多个参数_php中,用函数,如果有很多个参数,只使用最后一个参数,有什么优雅的写法?...
分两种情况讨论这个问题. 如果你是想固定其中某几个值 如果你是想让其中某些参数有默认值 情况一:如果你是想提前固定其中某几个参数的值 你可以对函数进行部分求值(柯里化),得到一个新的函数,后续使用的时 ...
- php中define的参数_php中define的含义及用法详解
define()函数理解1(着重于作用的理解) define() 函数定义一个常量. 常量的特点: 常量类似变量,不同之处在于:在设定以后,常量的值无法更改常量名,不需要开头的美元符号 ($),作用域 ...
- SSM中通过okhttp3向接口发送xml格式的请求参数
场景 在SSM项目中的后台Controller中需要想asp的接口发送xml格式的请求参数. 依据接口文档示例代码. 入参: <Request><ServiceCode>get ...
- python获取post请求中的所有参数_Django从POST reques获取请求参数
我有一个表单,你需要填写使用一个POST请求,但我希望结果是一个重定向到我的网站上的不同页面.有时我希望用户被重定向到配置文件页,有时重定向到购买页.在 因此,我将重定向URI放入发布的表单页面URL ...
- php 中set是什么_php中set
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 php中set_include_path函数用法: php中的set_include_path函数可用于设置应用程序目录, ...
- java 页面接收参数_详解SpringMVC——接收请求参数和页面传参
spring接收请求参数: 1,使用HttpServletRequest获取 @RequestMapping("/login.do") public String login(Ht ...
- python数组做参数_python完成数组格式的请求参数的加密计算
#输入 '''order_id:31489 join_course[0][join_tel]:13130999882 join_course[0][join_name]:任学雨 join_course ...
- php中正侧表达式_PHP中正则表达式详解(代码实例)
本文目标: 1.正则表达式的定义 2.正则表达式的几个基本语法 (一).正则表达式的定义 正则表达式是对字符串进行操作的一种逻辑公式,就是用一些特定的字符组合成一个规则字符串 比如:<?php ...
最新文章
- 解决element 照片墙上传时回显问题
- 批处理 操作mysql_超简单使用批处理(batch)操作数据库
- python中怎么绘制柱状簇_用Python绘制簇的质心
- python requests 示例_Python Requests模块的简单示例
- 【Spring注解系列01】@Configuration与@Bean
- c++ fstream用得多不?_自动挡中的“手自一体”,其实很好用,但真正会用的不多...
- 8.12模拟:dp递推
- php 当前ip_php获取本机ip(远程IP地址)
- 【无人机】物流行业迈入“无人”时代!全自动智能无人机投入运营,成本直降80%!...
- python123手机版math库-python学习笔记---math,random,operator(三)
- java 多线程4: java线程的优先级
- 十一、接口(接口的概念,实现,继承,实现)、抽象类与抽象方法(抽象类,抽象方法概念,使用)...
- redis的管理和监控工具treeNMS
- 反诈题库---合计100道(解析版最新)
- 抛弃clover,爱上QTTabBar
- android地图旋转监听,ArcGIS for Android示例解析之地图旋转-----MapRotation
- 第二章:x264视频制作meGUI工具安装
- 使用sql服务器发送贺卡_发送免费电子贺卡的最佳网站
- 小公司老板的日常管理
- lol8月21号服务器维护,8月21日lol维护公告最新 8.21lol维护到几点