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分別代表什么意思 (難度****)
- 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ō)明 (可選 難度****)
- 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)求的資源
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)求。
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è)面是否是最新的。