第三十四彈-http

問答:

1.OSI 七層模型指什么 (難度***)

Paste_Image.png
  • 物理層:物理層考慮的是怎樣在各種連接計算機(jī)的媒體上傳輸數(shù)據(jù)比特流,確保到了數(shù)據(jù)鏈路層感受不到各種通信手段的差異。這一層傳輸比特流(1000100111這樣)。

  • 數(shù)據(jù)鏈路層:這一層是在物理層和網(wǎng)絡(luò)層之間,作用也是讓這兩層通信。數(shù)據(jù)鏈路層把網(wǎng)絡(luò)層交下來的數(shù)據(jù)構(gòu)成幀發(fā)送到鏈路上,以及把接收到的幀中的數(shù)據(jù)取出并上交給網(wǎng)絡(luò)層

  • 網(wǎng)絡(luò)層:網(wǎng)絡(luò)層提供的是數(shù)據(jù)報。網(wǎng)絡(luò)層設(shè)計的簡單靈活,通過虛擬IP網(wǎng)絡(luò)讓位于不同地理位置的主機(jī)之間建立通信,網(wǎng)絡(luò)層以上采用的都是IP地址而非物理地址

  • 運(yùn)輸層:運(yùn)輸層為不同主機(jī)上的進(jìn)程提供端到端的邏輯通信(所謂邏輯通信是好像直接建立了端到端的通信,但事實上的物理連接不是這樣)功能。運(yùn)輸層使用協(xié)議端口號(像http協(xié)議的80端口)來找到不同端口,后續(xù)根據(jù)協(xié)議交付目的進(jìn)程。TCP協(xié)議、UDP協(xié)議就是這一層的協(xié)議,不同協(xié)議提供不同的服務(wù)模型

  • 會話層:會話層的功能是建立兩個節(jié)點之間的連接,確定是雙工工作(每一方同時發(fā)送和接收)還是半雙工工作(輪流發(fā)送和接收),保持通信過程中連接的暢通,決定連接是否中斷,決定中斷后從何處重新連接

  • 表示層:在應(yīng)用層和會話層之間,主要作用就是將應(yīng)用層發(fā)送過來的數(shù)據(jù)進(jìn)行處理,包括數(shù)據(jù)格式的轉(zhuǎn)換、數(shù)據(jù)的加密解密、數(shù)據(jù)的壓縮。應(yīng)用層負(fù)責(zé)處理語義而表示層負(fù)責(zé)處理語法,這樣才能保證不同計算機(jī)使用不同編碼格式的內(nèi)容最后都能被轉(zhuǎn)化成比特流傳輸,傳輸?shù)狡渌娔X后也能轉(zhuǎn)化回來

  • 應(yīng)用層:通信服務(wù)最終還是要給應(yīng)用進(jìn)程提供服務(wù),應(yīng)用層的協(xié)議就是精確定義這些通信規(guī)則,讓不同應(yīng)用進(jìn)程相互協(xié)調(diào)工作。例如HTTP協(xié)議具體規(guī)定報文類型、報文語法、報文中各字段信息的含義、進(jìn)程具體何時發(fā)送報文、進(jìn)程如何響應(yīng)報文


2.HTTP 的工作原理是什么? (難度***)

一次HTTP操作稱為一個事務(wù),其工作過程可分為四步:

  • 客戶機(jī)與服務(wù)器需要建立連接。只要單擊某個超級鏈接,HTTP的工作就開始了。

  • 建立連接后,客戶機(jī)發(fā)送一個請求給服務(wù)器,請求方式的格式為:統(tǒng)一資源標(biāo)識符(URL)、協(xié)議版本號,后邊是MIME信息包括請求修飾符、客戶機(jī)信息和可能的內(nèi)容。

  • 服務(wù)器接到請求后,給予相應(yīng)的響應(yīng)信息,其格式為一個狀態(tài)行,包括信息的協(xié)議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務(wù)器信息、實體信息和可能的內(nèi)容。

  • 客戶端接收服務(wù)器所返回的信息通過瀏覽器顯示在用戶的顯示屏上,然后客戶機(jī)與服務(wù)器斷開連接。

  • 如果在以上過程中的某一步出現(xiàn)錯誤,那么產(chǎn)生錯誤的信息將返回到客戶端,由顯示屏輸出。對于用戶來說,這些過程是由HTTP自己完成的,用戶只要用鼠標(biāo)點擊,等待信息顯示就可以了。


3.URI 的格式是什么?常見的協(xié)議有哪些 (難度***)

URI的全稱是統(tǒng)一資源標(biāo)識符, 是Uniform Resource Identifier 的縮寫,
URL的全程是統(tǒng)一資源定位符,是Uniform Resource Locator的縮寫。
URL是URI的子集,URL除了像URI確定一個資源,還提供一種定位該資源的主要訪問機(jī)制(http ://or ftp://)。
URI格式:
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<hash>
scheme :協(xié)議名 如http ://or ftp://
<user>:<password> :登陸信息(驗證),從服務(wù)器獲取資源需要輸入必要的用戶名和密碼,一般很少見
host:服務(wù)器地址 可以是IP地址或者域名
常見的 協(xié)議有:http、ftp、file、telnet、mailto 等
port :網(wǎng)絡(luò)端口號 ,如果省略走默認(rèn)端口, http默認(rèn)80,https 默認(rèn)443 ,ftp默認(rèn)21。
path:資源路徑
params:在一些協(xié)議中需要參數(shù)來訪問資源,例如ftp是二進(jìn)制還是文本傳輸,參數(shù)是名值對,用;
隔開
query: get請求傳遞的參數(shù) ,是一組組鍵值對
hash:也成為片段,設(shè)計為標(biāo)識文檔的一部分,很多MVVM框架用作了路由功能

4.HTTP 協(xié)議有幾種和服務(wù)器交互的方法 (難度***)

  • GET:最常用的方法,通常用于請求服務(wù)器發(fā)送某個資源

  • HEAD:和GET類似,只是不反回報文的主體部分,主要用于

    • 在不獲取資源的情況下獲取資源信息(類型、大小,資源的更新時間等)
    • 通過狀態(tài)碼產(chǎn)看資源是否存在
    • 通過查看首部,測試資源是否被修改了
  • POST:用于向服務(wù)器發(fā)送數(shù)據(jù),相比GET方法的傳輸數(shù)據(jù)量更大,保密性更好

  • OPTIONS:詢問服務(wù)器支持那些方法?

  • TRACE:TRACE請求會在目的服務(wù)器端發(fā)送一個“閉環(huán)”診斷,行程最后一站服務(wù)器會彈回一條TRACE響應(yīng),并在響應(yīng)主題中攜帶它收到的原始請求報文

  • PUT:用于想服務(wù)器寫入資源。PUT的語義就是讓服務(wù)器用請求的主體部分創(chuàng)建一個請求URL命名的文檔,如果存在就替換,由于安全原因,一般不支持。

  • DELETE:用于要求服務(wù)器刪除請求的URL,和PUT一樣,服務(wù)器可能會不支持

5.狀態(tài)碼200,301, 304,403,404,500,503分別代表什么意思 (難度****)

  • 200 ok 成功
  • 204 No Content請求處理成功,但是沒有資源返回
  • 301 Move Permanently 永久重定向
  • 302 Found 請求資源位置臨時移動,區(qū)別于301
  • 304 Not Modified 服務(wù)器資源未改變,可以直接使用客戶端未過期緩存
  • 403 Forbidden 資源不可用。服務(wù)器理解客戶的請求,但拒絕處理它。通常由于服務(wù)器上文件或目錄的權(quán)限設(shè)置導(dǎo)致
  • 404 Not Found 無法找到指定位置的資源
  • 500 Not Implemented 服務(wù)器不支持實現(xiàn)請求所需要的功能。例如,客戶發(fā)出了一個服務(wù)器不支持的PUT請求。
  • 503 Service Unavailable 服務(wù)器由于維護(hù)或者負(fù)載過重未能應(yīng)答。例如,Servlet可能在數(shù)據(jù)庫連接池已滿的情況下返回503

6.報文有哪幾部分組成? (可選 難度****)

  • 對報文進(jìn)行描述的起始行 start line
  • 包含屬性的首部塊 header
  • 包含數(shù)據(jù)的主體部分(可選) body

7.請求頭的格式和作用是什么?給個范例截圖說明 (可選 難度****)

Paste_Image.png

8.主體的作用是什么?給個范例(可選 截圖說明難度****)

服務(wù)器返回客戶端的html 圖片


Paste_Image.png

服務(wù)器返回的JSON


Paste_Image.png

9簡述瀏覽器緩存是如何控制的(可選 難度*****)

Paste_Image.png
Paste_Image.png

10.下圖各個參數(shù)是什么意思(可選 難度*****)

Paste_Image.png

參考文檔:


本教程版權(quán)歸小韓同學(xué)和饑人谷所有,轉(zhuǎn)載須說明來源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容