Http協(xié)議面試題

兄弟可以點個贊么?

1.什么HTTP協(xié)議

● 對客戶端和服務器端之間數(shù)據(jù)傳輸?shù)母袷揭?guī)范,格式簡稱為“超文本傳輸協(xié)議”

2.什么是HTTP協(xié)議無狀態(tài)協(xié)議?怎么解決http協(xié)議無狀態(tài)協(xié)議?

● 無狀態(tài)協(xié)議對于事物處理沒有記憶能力。缺少狀態(tài)意味著后續(xù)的處理需要前面的信息。
● 無狀態(tài)協(xié)議的解決辦法:通過1)Cookie ; 2)通過session會話保存。

3.說一下HTTP協(xié)議中302狀態(tài)

● HTTP協(xié)議中,返回302狀態(tài)碼表示重定向。
● 這種情況下服務器返回的頭部信息中會包含一個Location字段,內(nèi)容是重定向到的URL。

4.HTTP協(xié)議有什么組成?

請求報文包含三部分:
● 請求行:包含請求方法,URL,HTTP版本信息
● 請求首部字段
● 請求內(nèi)容實體

響應報文包含三部分:
● 狀態(tài)行:包含HTTP版本,狀態(tài)碼,狀態(tài)碼的原因短語
● 響應首部字段
● 響應內(nèi)容實體

說一下網(wǎng)絡傳輸過程

1189489-20180514091936031-871926134.png

5.Http協(xié)議中有那些請求方式?

● GET: 用于請求訪問已經(jīng)被URI(統(tǒng)一資源標識符)識別的資源,可以通過URL傳參給服務器
● POST:用于傳輸信息給服務器,主要功能與GET方法類似,但一般推薦使用POST方式。
● PUT: 傳輸文件,報文主體中包含文件內(nèi)容,保存到對應URI位置。
● HEAD: 獲得報文首部,與GET方法類似,只是不返回報文主體,一般用于驗證URI是否有效。
● DELETE:刪除文件,與PUT方法相反,刪除對應URI位置的文件。
● OPTIONS:查詢相應URI支持的HTTP方法。

6.HTTP協(xié)議中HTTP1.0和1.1 有什么區(qū)別

● 在HTTP1.0中,當連接建立后,客戶端發(fā)送一個請求,服務器端返回一個信息后就關閉了連接。當瀏覽器下次要請求是又要重新建立連接,顯然這種不斷建立連接的方式會造成很多問題。
●在HTTP1.1中,引入了持續(xù)連接的概念,通過這種連接瀏覽器建立一個連接之后,發(fā)送請求并得到返回消息,然后繼續(xù)發(fā)送請求再次得到返回消息,也就是說客戶端可以連續(xù)發(fā)送多個請求,而不用等待每一個響應的到來。

7.get與post請求的區(qū)別

區(qū)別一:
● get重點是從服務器上獲取資源
● post重點是向服務器發(fā)送數(shù)據(jù)。
區(qū)別二:
● get傳輸數(shù)據(jù)是通過URL請求,以field(字段) = value的形式,置于URL后,并用“?”連接,多個請求數(shù)據(jù)間用“&”連接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,這個過程用戶是可見的。
● post傳輸數(shù)據(jù)是通過HTTP的post機制。將字段和對應值封存在請求實體中發(fā)送給服務器。這個過程用戶是不可見的。
區(qū)別三:
● get傳輸數(shù)據(jù)量小,因為受URL長度限制,但是效率高。
● post可以傳輸大量數(shù)據(jù),所以上傳文件時只能用post
區(qū)別四:
● get是不安全的,因為URL是可見的,可能會泄漏私密信息。
● post 較get安全性高
區(qū)別五:
● get方式只能支持ASCII字符,向服務器傳的中文字符可能會亂碼。
● post支持標準字符集,可以正確傳遞中文字符。

9.常見Http協(xié)議狀態(tài)?

200:請求被正常處理
204:請求被受理但沒有資源可以返回
206:客戶端只是請求資源的一部分,服務器只對請求的部分資源執(zhí)行GET方法,相應報文中通過Content-Range指定范圍的資源。
301:永久性重定向
302:臨時重定向
303:與302狀態(tài)碼有相似功能,只是它希望客戶端在請求一個URI的時候,能通過GET方法重定向到另一個URI上
304:發(fā)送附帶條件的請求時,條件不滿足時返回,與重定向無關
307:臨時重定向,與302類似,只是強制要求使用POST方法
400:請求報文語法有誤,服務器無法識別
401:請求需要認證
403:請求的對應資源禁止被訪問=
404:服務器無法找到對應資源
500:服務器內(nèi)部錯誤
503:服務器正忙

10.Http協(xié)議首部字段?

a、通用首部字段(請求報文與響應報文都會使用的首部字段)

Date:創(chuàng)建報文時間
Connection:連接的管理
Cache-Control:緩存的控制
Transfer-Encoding:報文主體的傳輸編碼方式

b、請求首部字段(請求報文會使用的首部字段)
Host:請求資源所在服務器
Accept:可處理的媒體類型
Accept-Charset:可接收的字符集
Accept-Encoding:可接受的內(nèi)容編碼
Accept-Language:可接受的自然語言

c、響應首部字段(響應報文會使用的首部字段)
Accept-Ranges:可接受的字節(jié)范圍
Location:令客戶端重新定向到的URI
Server:HTTP服務器的安裝信息

d、實體首部字段(請求報文與響應報文的的實體部分使用的首部字段)
Allow:資源可支持的HTTP方法
Content-Type:實體主類的類型
Content-Encoding:實體主體適用的編碼方式
Content-Language:實體主體的自然語言
Content-Length:實體主體的的字節(jié)數(shù)
Content-Range:實體主體的位置范圍,一般用于發(fā)出部分請求時使用

11.Http與Https優(yōu)缺點?

通信使用明文不加密,內(nèi)容可能被竊聽,也就是被抓包分析。
不驗證通信方身份,可能遭到偽裝
無法驗證報文完整性,可能被篡改
HTTPS就是HTTP加上加密處理(一般是SSL安全通信線路)+認證+完整性保護

12.Http優(yōu)化

利用負載均衡優(yōu)化和加速HTTP應用
利用HTTP Cache來優(yōu)化網(wǎng)站

13.Http協(xié)議有那些特征?

1、支持客戶/服務器模式;2、簡單快速;3、靈活;4、無連接;5、無狀態(tài)。

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

相關閱讀更多精彩內(nèi)容

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