PHP中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 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 3,交互信息 是包含了请求数据的请求信息 常见于用户上传文件 注册等 其分为三部分:请求行 消息报头 请求正文 A.与请求信息的请求行相同 B.在请求报头的基础上添加了有关请求正文的数据 Content-Type:上传信息的内容类型 Content-Length:上传信息的长度 ... ... C.请求正文: 即请求的具体数据串(name=xxx&passwork=xxx),当然为了安全起见,有时会对POST信息加密编码 。 以下是典型的请求消息: GET login.php HTTP/1.1 明白了浏览器都往服务器上发送了些什么,那用其他方法伪装成一个服务器也就不是难事了 。 下一节我会介绍PHP和JS处理最基本URL的方式,解决GET请求部分的同时,也将模拟发送POST请求的准备做足 。 如果您觉得本博文对您有帮助,您可以推荐或点赞,如果您有什么问题,也可以在下方留言,一块讨论,谢谢 。 |