1. http協議和spdy協議
http是乙個應用層協議,由請求響應構成,是乙個標準的客戶端服務模型。
http通常承載在tcp協議上(http,預設埠80),有時也承載於tls或ssl協議層上(https,埠443)
http協議的模型就是客戶端請求服務端響應,且是乙個無狀態模型,同乙個客戶端的前後兩次請求沒有對應關係。
【http協議的缺點】1)伺服器端不會主動向客戶端push 2)一問一答的輪詢使tcp連線頻繁建立和斷開,導致其效率不高
spdy協議是由google提出的,優化了瀏覽器和伺服器之間的通訊。
spdy協議特性:支援流復用、具備優先順序的請求、主動發起請求、強制ssl安全傳輸
2.http協議如何工作
【工作流程】
2)建立連線後,客戶機傳送乙個請求給伺服器
3)伺服器接到請求後,給予相應的響應資訊
4)客戶端接收伺服器返回的資訊,並顯示在使用者的顯示屏上,然後客戶端和伺服器斷開鏈結
【主要概念】
1)建立連線
發起請求前需要先建立連線。
連線是乙個傳輸層的實際環流,它建立在兩個相互通訊的應用程式之間。在http1.1協議中,request和response頭中都有可能出現乙個connection的頭,來決定當客戶端和伺服器通訊時對於長鏈結(資料傳輸完成後保持tcp連線不斷開)如何處理。
http1.1中預設客戶端和伺服器都支援長鏈結。
客戶端不希望使用長鏈結,則在header中指明connection的值為close。
伺服器不希望使用長鏈結,則在response中指明connection值為close。
2)請求
http請求格式:開始行+可選的報頭行+空行+請求正文
·開始行——傳送方法、資源路徑、使用的http版本
如,get http://server/phptest/test.html http/1.1
·可選的報頭行——以「引數:值」的格式出現
·請求正文
3)響應
http響應格式:開始行+可選的報頭行+空行+響應正文
·開始行(狀態行)——所使用的http版本、狀態碼
如,http/1.1 200 ok
狀態碼以1開頭表示響應為資訊型的,2表示請求成功,3表示請求被重定位,4表示客戶端錯誤,5表示伺服器端錯誤
·可選的報頭行——以「引數:值」的格式出現
·響應正文
4)報頭
http訊息報頭包括普通報頭、請求報頭、響應報頭、實體報頭。
報頭域組成格式:「引數:值」
① 普通報頭中,有少數報頭域用於所有的請求和響應訊息,但並不用於被傳輸的實體,只用於傳輸的訊息。
② 請求報頭允許客戶端向伺服器端傳遞請求的附加資訊以及客戶端自身的資訊。
④ 實體報頭定義了關於實體正文和請求所標識的資源的元資訊
比較重要的幾個報頭:
host:請求資源的主機和埠號,必須表示請求url的原始伺服器或閘道器的位置。(http1.1請求必須包括主機頭域,否則會以400狀態碼返回)
user-agent:發出請求的使用者資訊,通常包含瀏覽者所用的瀏覽器的名稱和版本,以及所用的作業系統
accept:告訴伺服器可以接收的檔案格式
cookie:客戶端向伺服器傳送的,用於標記一些資訊(可以有多個cookie的value)
set-cookie:伺服器端向客戶端傳送的(只能有乙個cookie的value,並需要指明domain、path等)
http報頭引數詳解
3.php中和http相關的函式
· array get_headers(string $url[,int $format]):獲取伺服器響應乙個請求所傳送的所有標頭
· file系列函式:操作資料夾,請求網路資源
· stream_*系列函式:傳送請求,但不限於http協議
· socket系列函式:通過socket傳送和請求資料,但不限於http協議
· curl擴充套件庫:模擬瀏覽器和伺服器進行互動
· header函式:可用於傳送原始的http頭,注意此函式之前不能有輸出和空格等
linux網路技術內幕 讀書筆記
本人從事的就是linux底層網路開發的,所以希望看完這本書能讓我茅塞頓開,加油 一 sk buff結構體以及相關操作函式 建立緩衝區分為兩次記憶體分配 分配sk buff結構和分配資料緩衝區 二 ip分片的資料是儲存在什麼結構中?答 fraglist和frags陣列 三 ip分片的資料是儲存在什麼地...
無源光網路技術及相關演算法
這一部分需要分開來寫 一 常見無源光網路結構及分析比較 在各種接入網技術中,光纖寬頻接入技術是當前最有前景的接入技術之一。光纖寬頻接入技術主要分為 無源光網路技術 多業務傳送平台技術 乙太網接入技術。無源光網路一般指多個使用者端裝置 onu ont 與局端裝置通過無源器件如 光纜 光分 合路器等組成...
深入理解網路技術內幕 閱讀筆記(一)
第一章 簡介 記憶體快取 核心分別使用kmalloc和kfree函式分配和釋放乙個記憶體塊。當分配和 經常發生時,相關的核心組建初始化函式通常會分配一塊特殊的記憶體快取,以作分配之用。當乙個記憶體塊被釋放時,實際上是返回到當初被分配的同乙個緩衝區中。核心維護的其專屬記憶體快取的一些網路資料結構的例子...