摘要:響應(yīng)狀態(tài)行,響應(yīng)報頭,響應(yīng)數(shù)據(jù)前面幾個是百度的自定義報頭文件。返回的內(nèi)容的類型和編碼格式緩存的過期時間服務(wù)器信息設(shè)置分塊傳輸?shù)雀嗟亩x自行百度。
Http協(xié)議的認識
HTPP協(xié)議的定義:全稱 Hyper text transfer protocol (超文本傳輸協(xié)議),主要作用是客戶端和服務(wù)器端的交互,實現(xiàn)從WWW將文本傳輸?shù)娇蛻舳诉M行渲染顯示,就是我們常說的c/s,客戶端和服務(wù)器模式。而且是個問答模式,只有客戶端發(fā)送請求了,服務(wù)器端才會響應(yīng)發(fā)送數(shù)據(jù),是單向的。而現(xiàn)在webservice可以實現(xiàn)服務(wù)器端主動向客戶端發(fā)送數(shù)據(jù)。
HTTP的兩大特點:
1.無連接:http在傳輸之前是需要建立tcp/ip連接的,我的理解就是建立一條通道,建立一條客戶端到服務(wù)端的通道,然后http開始發(fā)送請求;之前的版本,每一次http請求和響應(yīng)完成后,這條連接是自動關(guān)閉的,所以每一次請求都會頻繁的建立tcp/ip連接,從http1.1版本后,在報頭里面有個connection來控制這條連接;當(dāng)connection:close時候,還是像以前一樣,響應(yīng)完后關(guān)閉;如果設(shè)置為connection:keep-alive;都會在一定的時間內(nèi),監(jiān)聽是否還有請求,沒有的話,則會去關(guān)閉它;這個時間是由timeout來控制的。
2.無狀態(tài):每一次http事務(wù),都是沒有聯(lián)系的。就是說同一個客戶端這次請求和上次請求在服務(wù)端是分辨不出來的,所以采用了cookie和session來解決無狀態(tài)協(xié)議;用來識別同一個用戶;
如何理解HTTP是應(yīng)用層協(xié)議:換句話說就是軟件上的一種協(xié)議。
以下是ISO模型和TCP/IP模型的比較
我們所說的HTTP協(xié)議就是工作在頂層的協(xié)議,然后往下看,會到傳輸層,再到網(wǎng)絡(luò)層,也就是建立tcp/ip連接;最后通過我們的實際鏈路進行傳輸交互;
這里在擴展一個知識點:TCP和UDP的區(qū)別
TCP是必須先請求服務(wù)器端,詢問我這由數(shù)據(jù)是否可以開始傳送,當(dāng)服務(wù)器端給出回復(fù)可以的話,就建立好了連接,然后客戶端開始發(fā)送請求數(shù)據(jù)了;
但是UDP是直接把數(shù)據(jù)發(fā)送過去,沒有征求你的同意,這樣的話由優(yōu)點也有缺點
1.首先服務(wù)器端可能暫時沒辦法接收和處理數(shù)據(jù),你硬塞給它的話,肯定會造成數(shù)據(jù)的丟包,這就是最大的漏洞;
2.UDP減少了詢問的時間,當(dāng)然效率也就比較高了。
而我們通常都是用TCP,相對來說安全,不至于丟包,如果數(shù)據(jù)量小且不重要的倒是可以考慮UDP;個人見解;
HTTP工作流程:
http的每一次過程都被稱為一個事務(wù),這個事務(wù)是沒有記憶能力的。
第一步:根據(jù)URL上的域名,在本地host中查找ip與端口號,若沒有,則到DHCP中進行查找;
第二步:根據(jù)ip和端口,訪問web服務(wù)器,請求建立連接,也就是TCP三次握手的第一步;
第三步:服務(wù)端接到請求做出反應(yīng),回復(fù)可以開始傳輸數(shù)據(jù);TCP三次握手的第二步;
第四步:就是http發(fā)送請求數(shù)據(jù),TCP三次握手的第三步;
第五步:服務(wù)器接受到http的請求數(shù)據(jù),則進行響應(yīng),并返回一定的數(shù)據(jù);
第六步:客戶端根據(jù)得到的數(shù)據(jù)繼續(xù)渲染顯示。
URL:uniform resource locator 統(tǒng)一資源定位符,其實就是描述資源的位置,好讓我們通過http協(xié)議去獲取到。
例子: http://www.baidu.com/admin/in...?name=maoxiaohai#
第一個:http 說明采用的是http協(xié)議;
第二個:www.baidu.com 會到域池里面也就是DHCP去獲取到對應(yīng)的ip和端口,http的默認端口是80,https是采用了ssl的,默認端口是443
第三個就是 admin/ 就是文件夾路徑
第四個:index.php就是我們訪問的文件
第五個:?后面的name=maoxiaohai就是我們攜帶過去的參數(shù)
第六個:#是個錨,具體是什么沒去研究。民間高手可以留言下,互相請教;
接下來就是關(guān)于http請求和響應(yīng)的格式了。
1.請求:請求行,請求報頭,請求數(shù)據(jù)
如上圖所示:
第一部分:請求行,包括請求方式,ur資源路徑,協(xié)議版本號。
第二部分:開始就是報頭,由報頭名: 報頭名 格式構(gòu)成;
第三部分:就是請求數(shù)據(jù);
請求方式主要有 get post 的方式。其他的比如head put delete之類的自行百度,我也不知道具體應(yīng)用在哪里,有大神會的可以給我留言。
最難的理解就是在報頭那,其實報頭也就是相當(dāng)傳輸了一些數(shù)據(jù)到服務(wù)器端;我們可以通過$_server 來獲取這些報頭信息,比如可以看瀏覽器信息,請求的主機名等
1.Host:就是我們請求的主機名,域名;
2.Connection:控制tcp/ip的連接關(guān)閉
3.Cach-Controll:緩存控制,其實就是控制緩存是否存儲到客戶端;
4.User-Agent:用戶代理,就是描述了瀏覽器的一些配置信息和系統(tǒng)配置信息,主要用處在服務(wù)器可以根據(jù)一定的規(guī)則判斷是手機訪問還是PC端。
5.Accept:接收什么樣的格式文件,通常都是text/html之類的文件
6.Accept-Encoding:可以接收的壓縮格式,大家也知道文件壓縮后傳輸速度快好多,http傳輸時候會先壓縮,然后傳輸過來,再解壓縮。這個就是給服務(wù)器說我可以接收哪些格式的壓縮文件,然后你可以用這個格式傳輸過來。
7.Accept-Language:接受的語言編碼
8.Cookie:傳送cookie過去。
2.響應(yīng):狀態(tài)行,響應(yīng)報頭,響應(yīng)數(shù)據(jù)
前面幾個是百度的自定義報頭文件。
Content-Type:返回的內(nèi)容的類型和編碼格式
Expires:緩存的過期時間
Server:web服務(wù)器信息
Set-Cookie:設(shè)置cookie
Transfer-Encoding:分塊傳輸
等更多的定義自行百度。
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處?;ヂ?lián)網(wǎng)+時代,時刻要保持學(xué)習(xí),攜手千鋒PHP,Dream It Possible。
標(biāo)簽: php, php培訓(xùn), 千鋒, php學(xué)習(xí)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/22982.html
摘要:不會產(chǎn)生動作意味著和的請求不會在服務(wù)器上產(chǎn)生任何結(jié)果。對長度的限制是字節(jié)。起限制作用的是服務(wù)器的處理程序的處理能力。很可能受到中文名稱跨站請求偽造攻擊。而數(shù)據(jù)大小,則是因為瀏覽器的限制造成的。請開始你的表演參考文章的人都理解錯了中與的區(qū)別 本篇文章分兩部分,第一部分可以列為初為新人的裝逼失敗模式,第二部分列為修煉低調(diào)模式。裝逼失敗模式:99%的人對GET和POST的認識修煉低調(diào)模式:1...
摘要:不會產(chǎn)生動作意味著和的請求不會在服務(wù)器上產(chǎn)生任何結(jié)果。對長度的限制是字節(jié)。起限制作用的是服務(wù)器的處理程序的處理能力。很可能受到中文名稱跨站請求偽造攻擊。而數(shù)據(jù)大小,則是因為瀏覽器的限制造成的。請開始你的表演參考文章的人都理解錯了中與的區(qū)別 本篇文章分兩部分,第一部分可以列為初為新人的裝逼失敗模式,第二部分列為修煉低調(diào)模式。裝逼失敗模式:99%的人對GET和POST的認識修煉低調(diào)模式:1...
摘要:不會產(chǎn)生動作意味著和的請求不會在服務(wù)器上產(chǎn)生任何結(jié)果。對長度的限制是字節(jié)。起限制作用的是服務(wù)器的處理程序的處理能力。很可能受到中文名稱跨站請求偽造攻擊。而數(shù)據(jù)大小,則是因為瀏覽器的限制造成的。請開始你的表演參考文章的人都理解錯了中與的區(qū)別 本篇文章分兩部分,第一部分可以列為初為新人的裝逼失敗模式,第二部分列為修煉低調(diào)模式。裝逼失敗模式:99%的人對GET和POST的認識修煉低調(diào)模式:1...
摘要:而這個就是作為客戶端的唯一標(biāo)識而存在的即使在同一臺電腦上,瀏覽器和瀏覽器對于服務(wù)器來說都是不同的客戶端。當(dāng)然,這個名不是固定的,我們可以在文件中的項進行修改。文件的命名格式是的值。比如說,的值是,是一個長度為的字符串。 前言:在不久之前,本人去參加了某公司的實習(xí)面試,其中面試官問我關(guān)于 SESSION 實現(xiàn)的原理,當(dāng)時我就懵逼了,因為在之前的開發(fā)中,我只知道 session 與 coo...
摘要:由包括確定語法和相關(guān)協(xié)議的方案所定義。統(tǒng)一資源名稱唯一標(biāo)識一個實體的標(biāo)識符,但是不能給出實體的位置。使用可以在不知道其網(wǎng)絡(luò)位置及訪問方式的情況下討論資源。 首先,介紹他們的相關(guān)定義: 1、URI(Uniform Resource Identifier)統(tǒng)一資源標(biāo)識符,是用來標(biāo)識某一互聯(lián)網(wǎng)資源名稱的字符串。 該種標(biāo)識允許用戶對任何(包括本地和互聯(lián)網(wǎng))的資源通過特定的協(xié)議進行交互操作。UR...
閱讀 1963·2021-09-30 09:46
閱讀 1374·2019-08-30 15:43
閱讀 1131·2019-08-29 13:28
閱讀 1932·2019-08-29 11:24
閱讀 1694·2019-08-26 13:22
閱讀 3974·2019-08-26 12:01
閱讀 1829·2019-08-26 11:33
閱讀 3251·2019-08-23 15:34