php http協議post請求參數相關資料匯總

來源:互聯網
上載者:User
本文給大家介紹PHP中Http協議post請求參數,具體內容如下所示:

WEB開發中資訊基本全是在POST與GET請求與響應中進行,GET因其基於URL的直觀,易被我們瞭解,可POST請求因其資訊的隱蔽,在安全的同時,也給開發人員們類比發送帶來了麻煩。接下來的幾篇博文中,我將結合自己的筆記和理解,詳細解釋PHP進行POST請求的幾種方法,如有錯誤,煩請指正。

  HTTP協議資訊是WEB開發中的一項重要內容,瞭解它可以協助我們更深刻地理解BS互動,也有利於我們從更底層理解WEB開發。HTTP協議是一種簡單靈活方便的通訊協議,並且要記住,它是一種無狀態的協議,即它是一種無記憶的協議,每一次的互動都是單獨的。

  我們可以用瀏覽器的開發工具(IE的F12 Firefox的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.1Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Encoding:gzip, deflate, sdchAccept-Language:zh-CN,zh;q=0.8Cache-Control:max-age=0Connection:keep-aliveCookie:SOHUHOMETAB=visit:2; IPLOC=CN1407; SUV=1510312046259910Host:www.sohu.comIf-Modified-Since:Sat, 31 Oct 2015 12:45:22 GMTUpgrade-Insecure-Requests:1User-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-cacheConnection:closeContent-Encoding:gzipContent-Length:6947Content-Type:text/html; charset=GBKDate:Sat, 31 Oct 2015 13:30:11 GMTExpires:-1Pragma:no-cacheProxy-Connection:keep-aliveServer:nginx/1.2.5Set-Cookie:JSESSIONID=yiuug4yejhc1cdbzydoxlcpn;Path=/

3,互動資訊

  是包含了請求資料的請求資訊 常見於使用者上傳檔案 註冊等

  其分為三部分:請求行 訊息前序 請求本文

A.與請求資訊的請求行相同

B.在請求前序的基礎上添加了有關請求本文的資料

  Content-Type:上傳資訊的內容類型

  Content-Length:上傳資訊的長度

  ... ...

C.請求本文:

  即請求的具體資料串(name=xxx&passwork=xxx),當然為了安全起見,有時會對POST資訊加密編碼。

以下是典型的請求訊息:

GET  login.php  HTTP/1.1Host:passport.sohu.comAccept:text/html,application/xhtml+xml,application/xmlAccept-Encoding:gzip, deflateAccept-Language:zh-CN,zh;q=0.8Cache-Control:max-age=0Connection:keep-aliveContent-Length:166Content-Type:application/x-www-form-urlencodedReferer: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.36Form Datadomain=sohu.com&callback=passport20008375022711697966_cb1446298206568&appid=1113&userid=FDFFDF%40sohu.com&password=a3f4384c2bc44fa909ffd0ecc5fa8eb9&persistentcookie=0

明白了瀏覽器都往伺服器上發送了些什麼,那用其他方法偽裝成一個伺服器也就不是難事了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.