聽歡哥講PHP之初識Http協議

Http協議的認識HTPP協議的定義:全稱 Hyper text transfer protocol (超文本傳輸協議),主要作用是客戶端和服務器端的交互,實現從WWW將文本傳輸到客戶端進行渲染顯示,就是我們常說的c/s,客戶端和服務器模式。而且是個問答模式,只有客戶端發送請求了,服務器端才會響應發送數據,是單向的。而現在webservice可以實現服務器端主動向客戶端發送數據。

HTTP的兩大特點:

1.無連接:http在傳輸之前是需要建立tcp/ip連接的,我的理解就是建立一條通道,建立一條客戶端到服務端的通道,然后http開始發送請求;之前的版本,每一次http請求和響應完成后,這條連接是自動關閉的,所以每一次請求都會頻繁的建立tcp/ip連接,從http1.1版本后,在報頭里面有個connection來控制這條連接;當connection:close時候,還是像以前一樣,響應完后關閉;如果設置為connection:keep-alive;都會在一定的時間內,監聽是否還有請求,沒有的話,則會去關閉它;這個時間是由timeout來控制的。

2.無狀態:每一次http事務,都是沒有聯系的。就是說同一個客戶端這次請求和上次請求在服務端是分辨不出來的,所以采用了cookie和session來解決無狀態協議;用來識別同一個用戶;

如何理解HTTP是應用層協議:換句話說就是軟件上的一種協議。

以下是ISO模型和TCP/IP模型的比較

我們所說的HTTP協議就是工作在頂層的協議,然后往下看,會到傳輸層,再到網絡層,也就是建立tcp/ip連接;最后通過我們的實際鏈路進行傳輸交互;

這里在擴展一個知識點:TCP和UDP的區別

TCP是必須先請求服務器端,詢問我這由數據是否可以開始傳送,當服務器端給出回復可以的話,就建立好了連接,然后客戶端開始發送請求數據了;

但是UDP是直接把數據發送過去,沒有征求你的同意,這樣的話由優點也有缺點

1.首先服務器端可能暫時沒辦法接收和處理數據,你硬塞給它的話,肯定會造成數據的丟包,這就是最大的漏洞;

2.UDP減少了詢問的時間,當然效率也就比較高了。

而我們通常都是用TCP,相對來說安全,不至于丟包,如果數據量小且不重要的倒是可以考慮UDP;個人見解;

HTTP工作流程:

http的每一次過程都被稱為一個事務,這個事務是沒有記憶能力的。

第一步:根據URL上的域名,在本地host中查找ip與端口號,若沒有,則到DHCP中進行查找;

第二步:根據ip和端口,訪問web服務器,請求建立連接,也就是TCP三次握手的第一步;

第三步:服務端接到請求做出反應,回復可以開始傳輸數據;TCP三次握手的第二步;

第四步:就是http發送請求數據,TCP三次握手的第三步;

第五步:服務器接受到http的請求數據,則進行響應,并返回一定的數據;

第六步:客戶端根據得到的數據繼續渲染顯示。

URL:uniform resource locator 統一資源定位符,其實就是描述資源的位置,好讓我們通過http協議去獲取到。

例子:http://www.baidu.com/admin/in...?name=maoxiaohai#

第一個:http 說明采用的是http協議;

第二個:www.baidu.com 會到域池里面也就是DHCP去獲取到對應的ip和端口,http的默認端口是80,https是采用了ssl的,默認端口是443

第三個就是 admin/ 就是文件夾路徑

第四個:index.PHP就是我們訪問的文件

第五個:?后面的name=maoxiaohai就是我們攜帶過去的參數

第六個:#是個錨,具體是什么沒去研究。民間高手可以留言下,互相請教;

接下來就是關于http請求和響應的格式了。

1.請求:請求行,請求報頭,請求數據

如上圖所示:

第一部分:請求行,包括請求方式,ur資源路徑,協議版本號。

第二部分:開始就是報頭,由報頭名: 報頭名 格式構成;

第三部分:就是請求數據;

請求方式主要有 get post 的方式。其他的比如head put delete之類的自行百度,我也不知道具體應用在哪里,有大神會的可以給我留言。

最難的理解就是在報頭那,其實報頭也就是相當傳輸了一些數據到服務器端;我們可以通過$_server 來獲取這些報頭信息,比如可以看瀏覽器信息,請求的主機名等

1.Host:就是我們請求的主機名,域名;

2.Connection:控制tcp/ip的連接關閉

3.Cach-Controll:緩存控制,其實就是控制緩存是否存儲到客戶端;

4.User-Agent:用戶代理,就是描述了瀏覽器的一些配置信息和系統配置信息,主要用處在服務器可以根據一定的規則判斷是手機訪問還是PC端。

5.Accept:接收什么樣的格式文件,通常都是text/html之類的文件

6.Accept-Encoding:可以接收的壓縮格式,大家也知道文件壓縮后傳輸速度快好多,http傳輸時候會先壓縮,然后傳輸過來,再解壓縮。這個就是給服務器說我可以接收哪些格式的壓縮文件,然后你可以用這個格式傳輸過來。

7.Accept-Language:接受的語言編碼

8.Cookie:傳送cookie過去。

2.響應:狀態行,響應報頭,響應數據

前面幾個是百度的自定義報頭文件。

Content-Type:返回的內容的類型和編碼格式

Expires:緩存的過期時間

Server:web服務器信息

Set-Cookie:設置cookie

Transfer-Encoding:分塊傳輸

等更多的定義自行百度。

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。互聯網+時代,時刻要保持學習,攜手千鋒PHP,Dream It Possible。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,362評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,013評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,346評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,421評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,146評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,534評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,585評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,767評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,318評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,074評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,258評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,828評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,486評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,916評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,156評論 1 290
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,993評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,234評論 2 375

推薦閱讀更多精彩內容

  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,409評論 6 152
  • Http協議詳解 標簽(空格分隔): Linux 聲明:本片文章非原創,內容來源于博客園作者MIN飛翔的HTTP協...
    Sivin閱讀 5,246評論 3 82
  • 參考:http://www.2cto.com/net/201611/569006.html TCP HTTP UD...
    F麥子閱讀 2,968評論 0 14
  • 其它參考地址HTTP狀態碼引言HTTP是一個屬于應用層的面向對象的協議,由于其簡捷、快速的方式,適用于分布式超媒體...
    daf89232a846閱讀 1,138評論 0 5
  • 一個素顏的你 一個買的起就買買不起就不買的你 一個開心的時候笑的和孩子一樣的你 一個吵架時默默流淚的你 一個身體微...
    隔著人海相濡以沫閱讀 141評論 0 0