HTTP

1.OSI 七層模型指什么

OSI(Open System Interconnection,開放系統(tǒng)互連)七層網絡模型稱為開放式系統(tǒng)互聯(lián)參考模型 ,是一個邏輯上的定義,一個規(guī)范,它把網絡從邏輯上分為了7層。
由下往上可分為:


OSI 七層模型

2.HTTP 的工作原理是什么?

(1)客戶端連接到Web服務器
一個HTTP客戶端,通常是瀏覽器,與Web服務器的HTTP端口(默認為80)建立一個TCP套接字連接。
(2)發(fā)送HTTP請求
通過TCP套接字,客戶端向Web服務器發(fā)送一個文本的請求報文,一個請求報文由請求行、請求頭部、空行和請求數(shù)據(jù)4部分組成。
(3)服務器接受請求并返回HTTP響應
Web服務器解析請求,定位請求資源。服務器將資源復本寫到TCP套接字,由客戶端讀取。一個響應由狀態(tài)行、響應頭部、空行和響應數(shù)據(jù)4部分組成。
(4)釋放連接TCP連接
Web服務器主動關閉TCP套接字,釋放TCP連接;客戶端被動關閉TCP套接字,釋放TCP連接。
(5)客戶端瀏覽器解析HTML內容
客戶端瀏覽器首先解析狀態(tài)行,查看表明請求是否成功的狀態(tài)代碼。然后解析每一個響應頭,響應頭告知以下為若干字節(jié)的HTML文檔和文檔的字符集??蛻舳藶g覽器讀取響應數(shù)據(jù)HTML,根據(jù)HTML的語法對其進行格式化,并在瀏覽器窗口中顯示。

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

格式:<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<hash>

  • <scheme>協(xié)議方案名,常見的協(xié)議有:
    (1)http:應用最廣泛的網絡傳輸協(xié)議,主要用于傳輸網頁資源
    (2)https:超文本傳輸安全協(xié)議,是一種網絡安全傳輸協(xié)議,使用超文本傳輸協(xié)議進行通訊,但利用 SSL/TLS 協(xié)議來對封包進行加密
    (3)ftp:文件傳輸協(xié)議,主要用于傳輸文件
    (4)smtp:簡單郵件傳輸協(xié)議,主要用于以推送方式傳輸郵件
    (5)imap:交互郵件訪問協(xié)議,主要用于訪問遠程服務器上的郵件
    (6)ssh:計算機上的 Shell 提供安全的傳輸和使用環(huán)境的安全協(xié)議
  • <user>:<password>登錄信息:認證信息
  • <host>主機名:IP地址或域名,用于確定要連接的對象的地址
  • <port>端口號:用來區(qū)分主機上的進程,方便找到web服務器,一般不需要寫(http默認80,https默認443,ftp默認21)
  • <path>路徑:帶層次的資源路徑,符合web服務器路由約定即可
  • <params>參數(shù):在一些協(xié)議中需要參數(shù)來訪問資源,例如ftp是二進制還是文本傳輸,參數(shù)是名值對,用;隔開
  • <query>查詢字符串:主要用于 get 請求傳遞參數(shù),name=value的形式
  • <hash>片段標識符:用于標識文檔的一部分,又稱錨點,對server沒用,協(xié)議不傳輸

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

  • GET:最常用,通常用于請求服務器發(fā)送某個資源(平時在瀏覽器輸入網頁地址就是給服務器發(fā)送一個GET請求)
  • POST:用于向服務器發(fā)送數(shù)據(jù),通常用來支持HTML表單,將表單中的數(shù)據(jù)發(fā)送到服務器
  • HEAD:和GET類似,但是在服務器的響應中沒有資源的內容,只有資源的一些基本信息,主要用于: 1.在不獲取資源的情況下獲取資源信息(類型、大小等) 2.通過狀態(tài)碼產看資源是否存在 3.通過查看首部,測試資源是否被修改了
  • PUT:和GET從服務器獲取資源相反,PUT用于向服務器寫入資源;PUT的語義就是讓服務器用請求的主體部分創(chuàng)建一個請求URL命名的文檔,如果存在就替換;出于安全原因不是所有的服務器都能實現(xiàn)
  • TRACE:客戶端發(fā)送一個請求的時候,這個請求可能會穿過防火墻、代理、網關和一些其它應用程序,每個中間節(jié)點都可能修改HTTP請求,TRACE方法允許客戶端在最終請求發(fā)往服務器的時候,看看它變成了什么樣子;TRACE請求會在目的服務器端發(fā)送一個“閉環(huán)”診斷,行程最后一站服務器會彈回一條TRACE響應,并在響應主題中攜帶它收到的原始請求報文
  • DELETE:DELETE方法用于要求服務器刪除請求的URL,和PUT一樣,服務器可能會不支持(刪除資源)
  • OPTIONS:OPTIONS方法用于請求 web服務器告知其支持的各種功能(比如查看-服務器支持以上哪幾種方法)

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

  • 200:OK;該請求被成功地完成,所請求的資源發(fā)送回客戶端。
  • 301:Moved Permanently;永久性定向,客戶請求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應該自動地訪問新的URL
  • 304:Not Modified;上次的文檔已經被緩存了, 還可以繼續(xù)使用。
  • 403:Forbidden;服務器收到請求,但是拒絕提供服務
  • 404:Not Found;請求資源不存在(一般是輸錯了URL)
  • 500:Internal Server Error;服務器發(fā)生了不可預期的錯誤
  • 503:Server Unavailable;服務器當前不能處理客戶端的請求,一段時間后可能恢復正常

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

  • 請求報文:
    (1)起始行:請求方法、URI、協(xié)議版本
    (2)首部:請求首部、通用首部 、實體首部及其他
    (3)空行
    (4)報文主體
  • 響應報文:
    (1)起始行:協(xié)議版本、狀態(tài)碼、狀態(tài)碼描述
    (2)首部:響應首部、通用首部、實體首部及其他
    (3)空行
    (4)報文主體

7.請求頭的格式和作用是什么?給個范例截圖說明

請求頭

Accept:瀏覽器能接收的資源類型
Accept-Encoding:告訴服務器能夠發(fā)送哪些編碼
Accept-Language:告訴服務器能夠發(fā)送哪些語言
Cache-Control:緩存控制
Connection:客戶端和服務器是否保持連接
Cookie:客戶端字符串
Host:接受請求的服務器的主機號和端口號
User-Agent:發(fā)起請求的客戶端應用程序

8.首部的格式和作用是什么?給個范例截圖說明

首部

Request URL:請求的URL地址
Request Method:請求的方法
Status Code:狀態(tài)碼
Remote Address:遠程地址即服務器地址

9.主體的作用是什么?給個范例

主體

主體就是客戶端和服務器所傳輸?shù)闹饕獌热?/p>

10.簡述瀏覽器緩存是如何控制的

瀏覽器是否使用緩存、緩存多久,是由服務器控制的。準確來說,當瀏覽器請求一個網頁(或者其他資源)時,服務器發(fā)回的響應的「響應頭」部分的某些字段指明了有關緩存的關鍵信息。通過Expires,Cache-Contrll,Last-Modified/If-Modified-Since,Etag/If-None-Match控制。

  • Expires:是Web服務器響應消息頭字段,在響應http請求時告訴瀏覽器在過期時間前瀏覽器可以直接從瀏覽器緩存取數(shù)據(jù),而無需再次請求。
  • Cache-Control:與Expires的作用一致,都是指明當前資源的有效期,控制瀏覽器是否直接從瀏覽器緩存取數(shù)據(jù)還是重新發(fā)請求到服務器取數(shù)據(jù),不過Cache-Control有多個參數(shù),優(yōu)先級高于Expires。
  • Last-Modified/If-Modified-Since:Last-Modified/If-Modified-Since要配合Cache-Control使用。最后修改時間/除非在某個制定日期之后修改過,否則限制這個請求
  • Etag/If-None-Match:Etag/If-None-Match也要配合Cache-Control使用。
    Etag:web服務器響應請求時,告訴瀏覽器當前資源在服務器的唯一標識。
    If-None-Match:當資源過期時(使用Cache-Control標識的max-age),發(fā)現(xiàn)資源具有Etage聲明,則再次向web服務器請求時帶上頭If-None-Match(Etag的值)
    參考

11.下圖各個參數(shù)是什么意思

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容