不懼面試:HTTP協議(1) - 基礎掃盲


 

v博客前言

先交代下背景,寫這個系列的原因是總結自己遇到的面試題以及可能遇到的題目,更重要的是,今年定的目標是掌握網絡這一塊的知識點,先是搞懂HTTP協議,然后是TCP/IP協議,再就是WCF如何運用這些協議更好地工作。

 

不懼面試:HTTP協議(1) - 基礎掃盲

不懼面試:HTTP協議(2) - 網關、隧道和中繼

不懼面試:HTTP協議(3) - Cookie

不懼面試:HTTP協議(4) - 安全HTTP

不懼面試:HTTP協議(5) - 基本認證機制

持續更新中... 

面試常見題:

  1.什么是HTTP協議?★☆

  2.Web客戶端是什么?

  3.Web服務端是什么?

  4.什么是資源?

  5.MIME類型是什么?★☆

  6.什么是URI?

  7.什么是URL?

  8.什么是URN?

  9.常見的HTTP方法有哪些?★☆

  10.常見的狀態碼200,206,302,304,404,501的含義?★★☆

  11.什么是報文?★★☆

  12.HTTP協議棧是怎么樣的?★★★

  13.什么是DNS?

  14.什么是端口號?

  15.在瀏覽器地址欄輸入一個HTTP的URL地址,按下回車鍵之后,瀏覽器怎么通過HTTP顯示位於遠端服務器中的某個簡單HTML資源?★★★☆

  16.什么是代理?★☆

  17.什么是緩存?★☆

  18.什么是網關?★☆

  19.什么是隧道?★☆

  20.什么是Agent代理?★☆

 

看完這些題目,心中是否有疑惑呢?那就接着看唄,我來幫您解答心中的疑惑o(^▽^)o

 

參考答案:

1.什么是HTTP協議?★☆

HTTP:超文本傳輸協議。使用的是可靠的數據傳輸協議,在傳輸的過程中不會被損壞或產生混亂。HTTP可以從遍布全世界的Web服務器商將各種信息塊迅速、便捷、可靠地搬移到人們桌面上的Web瀏覽器上去。

2.Web客戶端是什么?

Web客戶端常見的又各大廠商的瀏覽器,比如微軟的IE瀏覽器,google的chrome瀏覽器。

3.Web服務端是什么?

Web服務器存儲Web類容。Web服務器使用HTTP協議,被稱為HTTP服務器。

客戶端向服務器發送HTTP請求,服務器會在HTTP響應中回送所請求的數據。

4.什么是資源?

Web資源寄宿在Web服務器上。所有能夠提供Web內容的東西都是Web資源。比如靜態文件,能夠動態生成內容的軟件程序。

5.MIME類型是什么?★☆

MIME:多用途因特網郵件擴展。最初設計MIME是為了解決在不同的電子郵件系統之間搬移報文時存在的問題。HTTP采納了它,用來描述並標記多媒體內容。

MIME類型時一種文本標記,標識一種主要的對象類型和一個特定的子類型,中間由一條斜杠來分隔。如text/html,text/plain,image/ipeg。常見的MIME類型有數百個。

6.什么是URI?

URI:統一資源標識符,在世界范圍內唯一標識並定位信息資源。

URI有兩種形式:URL和URN。

7.什么是URL?

URL:統一資源定位符。URL描述了一台特定服務器上某資源的特定位置。

URL的第一部分被稱為方案(scheme)。說明了訪問資源所使用的協議類型。這里使用的時HTTP協議(http://)。

第二部分表示服務器的因特網地址:www.cnblogs.com。

其余部分指定了Web服務器上的某個資源:/jackson0714/p/algorithm_1.html。

幾乎所有的URLI都是URL。

8.什么是URN?

URN:統一資源名,URN是作為特定內容的唯一名稱使用的,與目前的資源所在地無關。

9.常見的HTTP方法有哪些?★☆

GET

從服務器向客戶端發送命名資源

PUT

將來自客戶端的數據存儲到一個命名的服務器資源中去

DELETE

從服務器中刪除命名資源

POST

將客戶端數據發送到一個服務器網關應用程序

HEAD

僅發送命名資源響應中的HTTP首部

 

 

10.常見的狀態碼200,206,302,304,404,503的含義?★★☆

每條HTTP響應報文返回時都會攜帶一個狀態碼。狀態碼是一個三位數字的代碼,告知客戶端請求是否成功,或者是否需要采取其他動作。

狀態碼

原因短語

含義

200

OK

成功。請求的所有數據都在響應主體中。

206

Partial Content

成功執行了一個部分或Range(范圍)請求。206響應中必須包含Content-Range、Date以及ETag或Content-Location首部。斷點續傳必考題。

302

Found

重定向。到其他地方去獲取資源。客戶端應該是用使用Location首部給出的URL來臨時定位資源。將來的請求仍應使用老的URL。

304

NOT Modified

如果客戶端發起了一個GET請求,而資源最近未被修改,則用304說明資源未被修改。帶有這個狀態嗎的響應不應該包含實體的主體部分。緩存必考題。

305

Use Proxy

用來說明必須通過一個代理來訪問資源;代理的位置由Locatin首部給出。

403

Forbidden

請求被服務器拒絕了。

404

Not Found

無法找到所請求的URL

500

Internal Server Error

服務器遇到一個妨礙它為請求提供服務的錯誤。

503

Bad Gateway

服務器現在無法為請求提供服務,但將來可以。

 

11.什么是報文?★★☆

HTTP報文是由一行一行的簡單的字符串組成的。HTTP報文都是純文本,不是二進制代碼。

請求報文:從Web客戶端發往Web服務器的HTTP報文稱為請求報文。

響應報文:從Web服務器發往客戶端的報文稱為響應報文。

HTTP報文包含以下三個部分:

起始行:報文的第一行就是起始行,在請求報文中用來說明要做些什么,在響應報文中說明出現了什么情況。如:GET /jackson0714/p/algorithm_1.html HTTP/1.1

首部字段:起始行后面由零個或多個首部字段。以鍵值對的形式表示首部字段。鍵和值之間用冒號分隔。首部以一個空行結束。如Content-Type:text/html:charset=utf-8

主體:首部字段空行之后就是可選的報文主體了,其中包含了所有類型的數據。請求主體中包括了要發送Web服務器的數據,響應主體中裝載了要返回給客戶端的數據。

12.HTTP協議棧是怎么樣的?★★★

HTTP是應用層協議。它把聯網的細節都交給了通用、可靠的因特網傳輸協議TCP\IP協議。

HTTP網絡協議棧:

TCP協議:

  a.傳輸控制協議

  b.無差錯的數據傳輸

  c.按序傳輸(數據總是會按照發送的順序到達)

  d.未分段的數據流(可以在任意時刻以任意尺寸將數據發送出去)

13.什么是DNS?

域名解析服務。將主機名轉換為IP地址。如將http://www.cnblogs.com/主機名轉換為IP地址:211.137.51.78。

14.什么是端口號?

http://www.cnblogs.com:80

80就是端口號。HTTP的URL中沒有端口號時,可以假設默認端口號時80。有了IP地址和端口號,客戶端就可以很方便地通過TCP/IP進行通信了。

15.在瀏覽器地址欄輸入一個HTTP的URL地址,按下回車鍵之后,瀏覽器怎么通過HTTP顯示位於遠端服務器中的某個簡單HTML資源?★★★☆

(1)瀏覽器從URL中解析出服務器的主機名;

(2)瀏覽器將服務器的主機名轉換成服務器的IP地址;

(3)瀏覽器將端口號(如果有的話),從URL中解析出來;

(4)瀏覽器建立一條與Web服務器的TCP連接;

(5)瀏覽器向服務器發送一條HTTP請求報文;

(6)服務器向瀏覽器回送一條HTTP響應報文;

(7)關閉連接,瀏覽器顯示文檔。

16.什么是代理?★☆

代理是位於客戶端和服務器之間的HTTP中間實體。接收所有客戶端的HTTP請求,並將這些請求轉發給服務器(可能會對請求進行修改之后轉發)。

17.什么是緩存?★☆

緩存HTTP的倉庫,使常用頁面的副本可以保存在離客戶端更近的地方。

18.什么是網關?★☆

網關是一種特殊的服務器,作為其他服務器的中間實體使用。通常用於將HTTP流量轉換成其他的協議。

19.什么是隧道?★☆

隧道是建立起來之后,就會在兩條連接之間對原始數據進行盲轉發的HTTP應用程序。常見用途是通過HTTP連接承載加密的安全套接字層(SSL)流量,這樣SSL流量就可以穿過只允許Web流量通過的防火牆了。

20.什么是Agent代理?★☆

用戶Agent代理是代表用戶發起HTTP的客戶端程序。比如Web瀏覽器。另外有些自動發送HTTP請求並獲取內容的代理,比如“網絡蜘蛛”或者“Web機器人”。

 

 


作  者: Jackson0714
出  處:http://www.cnblogs.com/jackson0714/
關於作者:專注於微軟平台的項目開發。如有問題或建議,請多多賜教!
版權聲明:本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。
特此聲明:所有評論和私信都會在第一時間回復。也歡迎園子的大大們指正錯誤,共同進步。或者直接私信
聲援博主:如果您覺得文章對您有幫助,可以點擊文章右下角推薦一下。您的鼓勵是作者堅持原創和持續寫作的最大動力!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM