常見的HTTP面試題

2021-09-11 23:58:04 字數 1407 閱讀 3776

1. get 方法與post方法的區別

1) get重點在從伺服器上獲取資源,post重點在向伺服器傳送資料

2)get傳送資料是通過url請求,以field(字段)的形式,置於url後,並用「?」連線,多個請求資料間用"&"連線,例如這個過程使用者是可見的;post傳輸資料通過http的post機制,將字段與對應值封存在請求實體中傳送給伺服器,這個過程對使用者是不可見的。

3)get傳輸的資料量少,因為受到url長度的限制,但效率較高;post可以傳輸大量的資料,所以上傳檔案時只能用post方式。

4)get是不安全的,因為url是可見的,可能會洩漏私密資訊,如密碼等;post較get安全性較高。

5)get方式只能支援ascii字元,可以正確傳遞中文字元。

2.常見的http相應的狀態碼

200 (成功) 伺服器已經成功處理了請求。通常,這表示伺服器提供了請求的網頁。

300 (多種選擇) 伺服器根據請求可執行多種操作。伺服器可根據請求者來選擇一項操作,或提供操作列表供其選擇。

301 永久性重定向

302 臨時重定向

303與302狀態碼有相似功能,只是它希望客戶端在請求乙個uri的時候,能通過get方法重定向到另乙個uri上

400 (錯誤請求) 伺服器不理解請求的語法。

403 (禁止) 伺服器拒絕請求。

404 (未找到) 伺服器找不到請求的網頁。例如,對於伺服器上不存在的網頁經常返回此**。

500 (伺服器內部錯誤) 伺服器遇到錯誤,無法完成請求。

可以總結為

3.http請求的過程

1)網域名稱解析,根據網域名稱找到伺服器ip,先是搜尋瀏覽器網域名稱自身的dns快取,沒有則走下一步,作業系統自己的dns快取,沒有則走下一步,系統hosts檔案,沒有則走下一步,向運營商的dns伺服器發起解析請求,沒有則走下一步,運營商的dns代替我們的瀏覽器發起迭代dns解析請求。一般都會i走完這幾步都差不多了。

2)發起tcp的3次握手

3)建立tcp連線後發起http請求

4)伺服器相應http請求,瀏覽器得到html**

5)瀏覽器解析html**,並請求html**中的資源(js,css,image)

6)瀏覽器對頁面進行渲染呈現給使用者

每次都請求都會經過  客戶端的應用層(http協議)-->  客戶端的傳輸層(tcp或udp協議) -->客戶端的網路層(ip協議) --> 客戶端的鏈路層(網絡卡,路由器等) -->  ------------------經過dns解析,穿越多個isp(網際網路服務提供商,移動,聯通,電信等),各種資料交換,找到了伺服器------------------- 伺服器的鏈路層  -->伺服器的網路層  -->伺服器的傳輸層  -->伺服器的應用層。 這個請求完成了。

http常見面試題總結

在上篇文章 https 為什麼是安全的 上 中,我們藉由如何安全的傳輸資訊這個問題,引出了 https 中常用的密碼學工具,對稱加密,非對稱加密,雜湊,訊息認證碼,數字簽名,證書等等。這裡先簡單複習一下。通訊內容一般直接使用對稱加密,但對稱加密存在金鑰傳輸問題。非對稱加密效能只有對稱加密的幾百分之一...

常見的面試題

程序中的管道 pipe ipc通訊的一種機制,佇列就是基於管道來完成通訊的,但是管道是原生的通訊方式 在程序之間會產生資料不安全的情況,需要自己手動加鎖來處理 管道在資料傳輸過程中,還涉及到乙個埠管理,這個需要我們在 中做處理才能使用 更加完善 程序中的佇列 管道 鎖,程序之間的資料安全 程序中的訊...

HTTP相關面試題

在 osi 七層模型中,http協議位於最頂層的應用層中。通過瀏覽器訪問網頁就直接使用了 http 協議。使用 http 協議時,客戶端首先與服務端的 80 埠建立乙個 tcp 連線,然後在這個連線的基礎上進行請求和應答,以及資料的交換。http 有兩個常用版本,分別是 1.0 和 1.1。主要區別...