HTTP

1.OSI 七層模型指什么 (難度***)
  • 七層網(wǎng)絡(luò)模型稱為開(kāi)放式系統(tǒng)互聯(lián)參考模型 ,是一個(gè)邏輯上的定義,一個(gè)規(guī)范,它把網(wǎng)絡(luò)從邏輯上分為了7層。

  • 物理層:該層包括物理連網(wǎng)媒介,如電纜連線連接器、網(wǎng)線、網(wǎng)卡等。在這一層,數(shù)據(jù)還沒(méi)有被組織,僅作為原始的位流或電氣電壓處理,單位是bit比特。

  • 數(shù)據(jù)鏈路層:負(fù)責(zé)建立和管理節(jié)點(diǎn)間的鏈路。這一層的主要功能是在物理層提供的比特流的基礎(chǔ)上,通過(guò)差錯(cuò)控制、流量控制方法,使有差錯(cuò)的物理線路變?yōu)闊o(wú)差錯(cuò)的數(shù)據(jù)鏈路。

  • 網(wǎng)絡(luò)層:主要功能是將網(wǎng)絡(luò)地址翻譯成對(duì)應(yīng)的物理地址,在源機(jī)器和目標(biāo)機(jī)器之間建立它們所使用的路由。

  • 傳輸層:向用戶提供可靠的端到端的差錯(cuò)和流量控制,保證報(bào)文的正確傳輸。

  • 會(huì)話層:不同機(jī)器上的用戶之間建立及管理會(huì)話。

  • 表示層:應(yīng)用程序和網(wǎng)絡(luò)之間的翻譯官,在表示層,數(shù)據(jù)將按照網(wǎng)絡(luò)能理解的方案進(jìn)行格式化

  • 應(yīng)用層:它是計(jì)算機(jī)用戶,以及各種應(yīng)用程序和網(wǎng)絡(luò)之間的接口。

2.HTTP 的工作原理是什么? (難度***)
  • 客戶端鏈接到服務(wù)器:首先客戶機(jī)與服務(wù)器需要建立連接。只要單擊某個(gè)超級(jí)鏈接,HTTP的工作就開(kāi)始了。
  • 客戶端向服務(wù)器發(fā)起HTTP請(qǐng)求:建立連接后,客戶機(jī)發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(URL)、協(xié)議版本號(hào),后邊是MIME信息包括請(qǐng)求修飾符、客戶機(jī)信息和可能的內(nèi)容。
  • 服務(wù)器響應(yīng):服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后邊是MIME信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。
  • 服務(wù)器斷開(kāi)鏈接:客戶端接收服務(wù)器所返回的信息通過(guò)瀏覽器顯示在用戶的顯示屏上,然后客http工作流程圖戶機(jī)與服務(wù)器斷開(kāi)連接。
3.URI 的格式是什么?常見(jiàn)的協(xié)議有哪些 (難度***)
  • 格式:
    URI的格式.png
  • 協(xié)議:
    http:超文本傳輸協(xié)議,主要用于傳輸網(wǎng)絡(luò)資源。(端口號(hào)80)
    https:超文本傳輸安全協(xié)議。使用超文本傳輸協(xié)議進(jìn)行通訊且利用 SSL/TLS 協(xié)議來(lái)對(duì)封包進(jìn)行加密。(端口號(hào)443)
    ftp:遠(yuǎn)程文件傳輸協(xié)議,允許用戶將遠(yuǎn)程主機(jī)上的文件拷貝到自己的計(jì)算機(jī)上。
    smtp:簡(jiǎn)單郵政傳輸協(xié)議,用于傳輸電子郵件。
    ssh:為計(jì)算機(jī)上的 Shell 提供安全的傳輸和使用環(huán)境的安全協(xié)議。
4.HTTP 協(xié)議有幾種和服務(wù)器交互的方法 (難度***)
  • GET:獲取資源,可在地址欄提交查詢字符串;
  • POST:向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件);
  • PUT:上傳資源;
  • DELETE:刪除資源;
  • HEAD:獲取報(bào)文首部;
  • OPTIONS:返回服務(wù)器針對(duì)特定資源所支持的HTTP請(qǐng)求方法;
  • TRACE:返回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。;
  • HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。

雖然HTTP的請(qǐng)求方式有8種,但是我們?cè)趯?shí)際應(yīng)用中常用的也就是get和post,其他請(qǐng)求方式也都可以通過(guò)這兩種方式間接的來(lái)實(shí)現(xiàn)。

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

timg.jpg
  • 200 (SC_OK)的意思是一切正常。一般用于相應(yīng)GET和POST請(qǐng)求。
  • 301 (SC_MOVED_PERMANENTLY)狀態(tài)是指所請(qǐng)求的文檔在別的地方;文檔新的URL會(huì)在定位響應(yīng)頭信息中給出。瀏覽器會(huì)自動(dòng)連接到新的URL。
  • 304 客戶端有緩沖的文檔并發(fā)出了一個(gè)條件性的請(qǐng)求(一般是提供If-Modified-Since頭表示客戶只想在指定日期更新的文檔)。服務(wù)器告 訴客戶,原來(lái)緩沖的文檔還可以繼續(xù)使用
  • 403 (SC_FORBIDDEN)的意思是除非擁有授權(quán)否則服務(wù)器拒絕提供所請(qǐng)求的資源。
  • 404 無(wú)法找到指定位置的資源;這也是一個(gè)常用的應(yīng)答。
  • 500 是常用的“服務(wù)器錯(cuò)誤”狀態(tài)。
  • 503 表示服務(wù)器由于在維護(hù)或已經(jīng)超載而無(wú)法響應(yīng)。
6.報(bào)文有哪幾部分組成? (可選 難度****)
  • 請(qǐng)求行:報(bào)文行:規(guī)定請(qǐng)求方法、http協(xié)議的版本號(hào)、狀態(tài)等
  • 請(qǐng)求頭:請(qǐng)求報(bào)文添加了一些附加信息,由“名/值”對(duì)組成。
  • 空行:用于分隔報(bào)文頭部和報(bào)文體。
  • 正文

報(bào)文都可以分為兩類:請(qǐng)求報(bào)文和響應(yīng)報(bào)文。

7.請(qǐng)求頭的格式和作用是什么?給個(gè)范例截圖說(shuō)明 (可選 難度****)
Paste_Image.png
  • Accept:瀏覽器能接收的資源類型
  • Accept-Encoding:瀏覽器能接收的數(shù)據(jù)壓縮格式
  • Accept-Language:告知服務(wù)器能夠處理的語(yǔ)言
  • Cache-Control:緩存控制
  • Connection:客戶端和服務(wù)器是否保持鏈接。
  • Cookie:存在客戶端的鍵值對(duì)文本。
  • host:請(qǐng)求資源所在的主機(jī)名。
  • User-Agent:發(fā)送請(qǐng)求的應(yīng)用程序名稱,客戶端信息。
8.首部的格式和作用是什么?給個(gè)范例截圖說(shuō)明
  • 通用首部字段:
    通用首部字段是指,請(qǐng)求報(bào)文和響應(yīng)報(bào)文雙方都會(huì)使用的首部。

    Paste_Image.png

  • 請(qǐng)求首部字段:
    請(qǐng)求首部字段是從客戶端往服務(wù)器端發(fā)送請(qǐng)求報(bào)文中所用的字段,用于補(bǔ)充請(qǐng)求的附加信息、客戶端信息、對(duì)響應(yīng)內(nèi)容相關(guān)的優(yōu)先級(jí)等內(nèi)容。

    Paste_Image.png

  • 響應(yīng)首部:
    響應(yīng)首部字段是由服務(wù)器端向客戶端返回的報(bào)文。

    Paste_Image.png

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

返回客戶端請(qǐng)求的資源

Paste_Image.png
10.簡(jiǎn)述瀏覽器緩存是如何控制的(可選 難度*****)
  • 通過(guò)制定首部字段cache-control的指令,指令的參數(shù)是可選的。
  • 緩存請(qǐng)求指令:
    no-store:不緩存請(qǐng)求或響應(yīng)的任何內(nèi)容。
    max-age=秒:響應(yīng)的最大age值。
    min-fresh=秒:在指定時(shí)間內(nèi)的響應(yīng)有效。
    only-if-cached:從緩存獲取資源。
    ...
  • 緩存響應(yīng)指令:
    public:可向任意方提供響應(yīng)的緩存。
    private:僅向特定用戶返回響應(yīng)。
    no-cache:緩存前必須先確認(rèn)其有效性。
    ...
  • Expires:規(guī)定緩存具體過(guò)期日期,超過(guò)這個(gè)時(shí)間值后,緩存的內(nèi)容將失效,而在期限內(nèi)無(wú)需再次請(qǐng)求。
Paste_Image.png
  • Last-Modified/EtagLast-Modified:一般用于表示一個(gè)服務(wù)器上的資源的最后修改時(shí)間。詢問(wèn)當(dāng)前緩存的頁(yè)面是否是最新的,如果是最新的就返回304狀態(tài)碼,告訴瀏覽器是最新的,服務(wù)器也不會(huì)傳輸新的數(shù)據(jù)。

  • 與Last-Modified字段有類似功能的還有一個(gè)Etag字段,這個(gè)字段的作用是讓服務(wù)端給每個(gè)頁(yè)面分配一個(gè)唯一的編號(hào),然后通過(guò)這個(gè)編號(hào)來(lái)區(qū)分當(dāng)前這個(gè)頁(yè)面是否是最新的。

11.下圖各個(gè)參數(shù)是什么意思(可選 難度*****)
報(bào)文_meitu_1.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容