HTML

1.OSI 七層模型指什么

答:OSI七層模型通過七個不同層次的結(jié)構(gòu)模型,使不同系統(tǒng)不同網(wǎng)絡(luò)能夠進(jìn)行可靠的通訊,它的最主要的功能就是幫助不同類型的主機(jī)實現(xiàn)數(shù)據(jù)傳輸。完成中繼功能的節(jié)點通常稱為中繼系統(tǒng),在OSI七層模型中,處于不同層的中繼系統(tǒng)有不同的名稱

  • 1.物理層:以二進(jìn)制數(shù)據(jù)形式在物理媒體上傳輸數(shù)據(jù)。
  • 2.數(shù)據(jù)鏈路層:確定了數(shù)據(jù)的分組方式,以及網(wǎng)絡(luò)數(shù)據(jù)包的形式。
  • 3.網(wǎng)絡(luò)層:引進(jìn)網(wǎng)址,用于區(qū)分各個網(wǎng)絡(luò)是否處于一個子網(wǎng)絡(luò)。
  • 4.傳輸層:建立端口與端口間的通訊,實現(xiàn)程序之間的交流。
  • 5.會話層:在兩個系統(tǒng)之間建立會話。
  • 6.表示層:把數(shù)據(jù)轉(zhuǎn)化成能與接收者的系統(tǒng)格式兼容并適合傳輸?shù)母袷健?/li>
  • 7.應(yīng)用層:決定了向用戶提供應(yīng)用服務(wù)時的通信活動,如http、https、ftp就是應(yīng)用層協(xié)議。


    七層模型
2.HTTP 的工作原理是什么?

答:HTTP:(Hyper Text Traner Protocol)超文本傳輸協(xié)議,它是一種通信協(xié)議,它允許將超文本標(biāo)記語言(HTML)文檔從web服務(wù)器傳送到客戶端的瀏覽器,它是一種應(yīng)用層的協(xié)議,承載于TCP之上。由請求和響應(yīng)構(gòu)成,是一個標(biāo)準(zhǔn)的客戶端服務(wù)模型。
工作流程如下:
1.地址解析,從瀏覽器中輸入的URL分解出協(xié)議名、主機(jī)、端口、對象等部分,在這一步中需要域名系統(tǒng)DNS解析域名localhost.com得到主機(jī)名。
2.封裝HTTP請求報文。
3.封裝成TCP包,建立TCP連接。
4.客戶端發(fā)送請求命令,建立連接后客戶機(jī)發(fā)送一個請求給服務(wù)器,請求的格式為:統(tǒng)一資源標(biāo)識符(URI)、協(xié)議版本號、后面的MIME信息包括請求修飾符、客戶機(jī)信息和內(nèi)容。
5.服務(wù)器收到請求報文、處理請求返回響應(yīng)內(nèi)容和響應(yīng)報文。
6.服務(wù)器關(guān)閉TCP連接,也可以通過Connection keep-alive保持存在路線,但是是斷開的狀態(tài)。
7.客戶端收到響應(yīng)報文跟響應(yīng)文件,將其解析渲染出來。

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

答:URI是統(tǒng)一資源標(biāo)識符,它是更通用的資源標(biāo)識符,它由兩個子集構(gòu)成一個是URL,它是通過資源位置來描述資源的,另一個是URN,它是由資源名字來描述資源的,跟位置無關(guān)。


URI的格式

常見的協(xié)議有:HTTP、HTTPS、FTP

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

答:1.GET:請求服務(wù)器發(fā)送某個資源。
2.POST:向服務(wù)器發(fā)送數(shù)據(jù),通常用于支持HTML的表單input等,表單中的數(shù)據(jù)會被發(fā)送到服務(wù)器。
3.HEAD:HEAD方法與GET類似,但是在服務(wù)器的響應(yīng)中沒有資源的內(nèi)容,只有資源的一些基本信息,主要用于查看資源大小、類型,是否存在,查看資源是否被修改。
4.PUT:跟GET從服務(wù)器獲取資源相反、它是用于給服務(wù)器寫入一個資源。
5.TRACE: 用于查看發(fā)送到服務(wù)器的請求是否被服務(wù)器接收或者在發(fā)送過程中被修改。
6.DELETE:請求服務(wù)器刪除對應(yīng)URL。
7.OPTIONS:請求查閱服務(wù)器性能或查閱資源相關(guān)的選項需求。

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

答:200:OK客戶端請求成功。
301:重定向,URI發(fā)生了改變?yōu)g覽器自動訪問新的URL。
304:跟上次訪問的緩存相同,直接使用上次緩存。
403:禁止訪問權(quán)限不夠。
404:服務(wù)器找不到請求的資源。
500:服務(wù)器執(zhí)行請求發(fā)生錯誤
503:服務(wù)器超出載荷或者停機(jī)維護(hù)

6.報文有哪幾部分組成?

答:HTTP請求報文由請求行(request line)、請求頭部(header)、空行和請求數(shù)據(jù)四個部分組成
HTTP響應(yīng)報文由狀態(tài)行(status-line)、消息報頭(header)和響應(yīng)正文(response-body)三個部分組成。

7.請求頭的格式和作用是什么?給個范例截圖說明
  • Accept:告訴服務(wù)器能夠發(fā)送的媒體類型。
  • Accept-Encoding:告訴服務(wù)器能發(fā)送哪些壓縮格式。
  • Connection:客戶端和服務(wù)器是否保持連接。
  • Host:接收請求的服務(wù)器的主機(jī)名和端口號。
  • Origin:請求的網(wǎng)站源信息。
  • Referer:提供了包含當(dāng)前請求URI的文檔的URL,告訴服務(wù)器自己的來源。
  • User-Agent:發(fā)送請求的客戶端應(yīng)用程序。
  • cookie:客戶端的一些信息保存用戶的登錄狀態(tài)等。
8. 首部的格式和作用是什么?給個范例截圖說明
  • Request:請求的URL。
  • Request Address:服務(wù)器的IP地址和端口號。
  • Request Method:請求的方法。
  • Status Code:狀態(tài)碼和狀態(tài)語句。
9. 主體的作用是什么?給個范例

主體就是客戶端與服務(wù)器傳輸?shù)暮诵膬?nèi)容,用于給用戶呈現(xiàn)信息,通常是字符串文本,有的是json。

10、簡述瀏覽器緩存是如何控制的?
  • 瀏覽器的緩存機(jī)制,其實就是HTTP協(xié)議定義的緩存機(jī)制和HTML的meta標(biāo)簽緩存機(jī)制。
  • 如果瀏覽器請求時,沒有緩存,則向服務(wù)器請求內(nèi)容,通過緩存機(jī)制判斷是否需要緩存。
  • 如果瀏覽器請求時,本地有緩存,那么首先判斷緩存是否存在有效期,這里通過HTTP的Cahe-control和Expires指明的有效期,Cache-control的優(yōu)先級更高,設(shè)置更精細(xì)。
    如果沒有過期則讀取本地緩存,如果過期了則查詢其他定義:
  • Last-Modified:這個響應(yīng)資源的最后修改時間,web服務(wù)器在響應(yīng)請求時,告訴瀏覽器資源的最后修改時間。
  • If-Modifled-Since:當(dāng)資源過期時發(fā)現(xiàn)資源具有Last-Modified聲明,則再次向web服務(wù)器請求時帶上上頭If-Modifled-Since,表示請求時間。web服務(wù)器收到請求后發(fā)現(xiàn)有頭if-Modified-S ince則與被請求資源的最后修改時間進(jìn)行比對,若最后修改時間較新則響應(yīng)HTTP200,若無修改則響應(yīng)HTTP304。
    Etag/if-None-Match也要配合Control使用
  • Etag:web服務(wù)器響應(yīng)請求時,高速瀏覽器當(dāng)前資源在服務(wù)器的唯一標(biāo)識。
  • if-None-Match:當(dāng)資源過期時,發(fā)現(xiàn)資源具有Etag聲明,則再次向web服務(wù)器請求時帶上頭if-None-Match(Etag的值)。web服務(wù)器收到后進(jìn)行比較,再決定返回200或者304.
11.下圖各個參數(shù)是什么意思

1.General:概括信息,瀏覽器自動生成概括,不是http協(xié)議內(nèi)容。
2.Request URL:請求URL地址。
3.Request Method:請求方法。
4.Status Code:請求的狀態(tài)碼和狀態(tài)短語。
5.Remote Address:請求的IP地址和端口號。
6.Response Headers:響應(yīng)頭部。
7.Coonection:連接狀態(tài),每次請求后都會關(guān)閉http連接,為了優(yōu)化訪問現(xiàn)在默認(rèn)何止keep-alive保持連接,即TCP\IP連接不關(guān)閉。
8.Content-length:內(nèi)容長度。
9.Content-Type:內(nèi)容類型。
10.Date:響應(yīng)事件。
11.Server:服務(wù)器軟件信息。
12.X-Powered-By:告知網(wǎng)站使用什么語言框架編寫的。
13.Request Headers:請求頭部。
14.Accept:能夠接受的響應(yīng)格式。
15.Accept-Encoding:能夠接受的編碼格式。
16.Accept-language:能夠接受的語言。
17.Cookie:用于識別用戶的緩存。
18.Host:服務(wù)器主機(jī)名。
19.Origin:源。
20.Referer:網(wǎng)站的來源信息,包括歷史記錄信息。
21.User-Agent:客戶端信息。
22.X-Requested-With:判斷是AJAX請求還是HTTP請求。
23.Form-Data:從querystring中獲得的表單數(shù)據(jù)。
24.article:數(shù)據(jù)文章標(biāo)題。

本文歸本人和饑人谷所有 轉(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)容

  • 本篇文章篇幅比較長,先來個思維導(dǎo)圖預(yù)覽一下。 一、概述 1.計算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)分層 2.TCP/IP 通信傳輸流 ...
    滌生_Woo閱讀 56,230評論 24 557
  • 前言: 本人17年應(yīng)屆畢業(yè)生,已入職,剛?cè)肼殯]有太多事情于是整理了一下過去面試的筆記。很多人覺得前端不需要或者不會...
    yozosann閱讀 4,965評論 3 49
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,694評論 19 139
  • 1. 網(wǎng)絡(luò)基礎(chǔ)TCP/IP HTTP基于TCP/IP協(xié)議族,HTTP屬于它內(nèi)部的一個子集。 把互聯(lián)網(wǎng)相關(guān)聯(lián)的協(xié)議集...
    yozosann閱讀 3,621評論 0 20
  • 晚上三點,莫名的醒了。習(xí)慣性的摸出手機(jī),插上耳機(jī),戴進(jìn)了耳朵。似乎手機(jī)已經(jīng)變成我最依賴的東西,即使以前從來不是。 ...
    淺輒止閱讀 389評論 4 4

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