<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    PHP中Http協議post請求參數

    時間:2025-04-03 10:06:24 php語言 我要投稿
    • 相關推薦

    PHP中Http協議post請求參數

      本文給大家介紹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

      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中Http協議post請求參數】相關文章:

    php中curl模擬post請求小實例06-01

    php的curl模擬post請求的例子10-25

    PHP的GET和POST請求發送方法09-27

    PHP中php://input和$-POST的區別08-26

    PHP如何使用curl發送GET和POST請求09-10

    PHP如何用curl發送GET和POST請求09-07

    PHP中使用cURL實現Get和Post請求11-13

    php中php://input和$-POST有什么不同07-23

    PHP中使用cURL實現Get和Post請求的方法10-30

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人