1.http是什麼的縮寫

HTTP 是 HyperText Transfer Protocol 的縮寫,中文意思是超文本傳輸協議

它是一種用於在萬維網(WWW)上傳輸數據的應用層協議,主要作用是規範客户端(比如瀏覽器)和服務器之間的通信規則,讓兩者能夠可靠地交換超文本內容(例如網頁、圖片、視頻等)。

常見的與它相關的協議是 HTTPS,其中的 S 代表 Secure(安全),是 HTTP 的加密版本,能保障數據傳輸的安全性。

2.核心作用是什麼?作用在參考模型中的哪一層?

HTTP的核心作用是規範客户端服務器之間的超文本數據傳輸流程,簡單説就是定義了瀏覽器(客户端)如何向網站服務器請求數據、服務器如何響應這些請求,從而實現網頁內容的獲取與展示。

HTTP 作用在TCP/IP 參考模型的應用層;對應 OSI 七層參考模型的話,同樣位於應用層。

3.與TCP/IP的區別是什麼

HTTP 和 TCP/IP 的核心區別是 從屬關係不同:TCP/IP 是一套完整的網絡通信協議簇,HTTP 是基於 TCP/IP 簇運行的單一應用層協議。

具體區別可以分為這幾點:

01本質不同

  • TCP/IP:是協議簇,包含從底層到應用層的一整套網絡通信協議(如 IP、TCP、HTTP、FTP 等),是互聯網通信的基礎框架。
  • HTTP:是單一應用層協議,僅用於客户端與服務器的超文本傳輸,屬於 TCP/IP 協議簇的一部分。

02功能不同

  • TCP/IP:負責全鏈路數據傳輸,涵蓋數據封裝、路由、可靠交付等全過程。
  • HTTP:僅負責應用層的請求 - 響應規則,不處理底層傳輸,需依賴 TCP 協議建立連接。

03依賴關係不同

  • HTTP依賴TCP/IP 協議簇中的 TCP 協議才能工作。
  • TCP/IP 協議簇不依賴HTTP,可通過其他應用層協議(如 FTP、DNS)實現通信。

4.5層參考模型、7層參考模型分別是什麼?5層是7層中的哪2層進行了合併?

七層參考模

  1. 應用層:為應用程序提供網絡服務(如 HTTP、FTP、DNS)
  2. 表示層:處理數據的格式轉換、加密解密、壓縮解壓縮
  3. 會話層:建立、管理和終止表示層實體之間的通信會話
  4. 傳輸層:提供端到端的通信服務(如 TCP、UDP)
  5. 網絡層:負責分組轉發和路由選擇(如 IP 協議)
  6. 數據鏈路層:將物理層接收到的信號組成幀,進行差錯檢測
  7. 物理層:處理物理介質上的信號傳輸(如網線、光纖的電氣特性)

五層參考模型(從上到下)

  1. 應用層
  2. 傳輸層
  3. 網絡層
  4. 數據鏈路層
  5. 物理層

TCP/IP 五層模型是將 OSI 七層模型中的 表示層 和 會話層 合併到了應用層中,因這兩層的功能在實際的 TCP/IP 協議簇裏,大多由應用層協議自行實現,無需單獨分層

5. 當用户在瀏覽器地址欄輸入一個URL並回車後的過程,請描述

  1. URL 解析:瀏覽器拆分 URL 的協議、域名、資源路徑等信息。
  2. DNS 解析:查詢 DNS 服務器,將域名轉換為目標服務器的 IP 地址。
  3. 建立連接:基於 IP 和端口,通過TCP 三次握手建立連接;若為 HTTPS,額外進行 TLS/SSL 加密握手。
  4. 發送請求:瀏覽器向服務器發送 HTTP 請求報文,請求指定資源。
  5. 服務器響應:服務器處理請求,生成並返回 HTTP 響應報文(含狀態碼、響應體如 HTML)。
  6. 斷開連接:數據傳輸完成後,通過TCP 四次揮手斷開連接(HTTP/1.1 可複用連接)。
  7. 頁面渲染:瀏覽器解析 HTML、CSS,構建 DOM 樹和渲染樹,最終繪製出網頁。

6.http請求的方法都有哪些?分別是什麼意思

  1. GET

向服務器請求獲取資源,是最常用的方法。請求參數會附加在 URL 後,傳輸數據量有限,且不安全(參數暴露),一般用於查詢操作。

  1. POST

向服務器提交數據,請求參數放在請求體中,可傳輸大量數據,相對安全。常用於表單提交、文件上傳等場景。

  1. PUT

向服務器上傳或更新資源,要求客户端提供資源的完整內容,若資源不存在則創建,存在則覆蓋。

  1. DELETE

要求服務器刪除指定資源。

  1. HEAD

與 GET 類似,但服務器只返回響應頭,不返回響應體。常用於檢查資源是否存在、獲取資源的元信息(如文件大小)。

  1. OPTIONS

查詢服務器支持的所有 HTTP 請求方法,可用於跨域請求的預檢。

7. 請求和響應分別包含幾部分?

  1. HTTP 請求報文(3 部分)
  • 請求行:包含請求方法(GET/POST 等)、請求 URL、HTTP 協議版本,例:GET /index.html HTTP/1.1
  • 請求頭:鍵值對形式的附加信息,如Host(目標主機)、User-Agent(客户端信息)、Content-Type(請求體數據格式)
  • 請求體:可選部分,承載需要提交給服務器的數據(如 POST 請求的表單參數、JSON 數據);GET 請求一般無請求體
  1. HTTP 響應報文(3 部分)
  • 狀態行:包含 HTTP 協議版本、狀態碼、狀態描述,例:HTTP/1.1 200 OK
  • 響應頭:鍵值對形式的附加信息,如Content-Type(響應體數據格式)、Server(服務器軟件信息)、Set-Cookie(設置 Cookie)
  • 響應體:服務器返回的核心數據,如 HTML 頁面、JSON 數據、圖片二進制流等

8.常見的響應狀態碼都是什麼?什麼含義

  1. 2xx(成功類)
  • 200 OK:請求成功,服務器正常返回數據。
  • 201 Created:請求成功,且服務器創建了新資源(如新增數據)。
  • 204 No Content:請求成功,但無數據返回。
  1. 3xx(重定向類)
  • 301 Moved Permanently:資源永久重定向到新地址。
  • 302 Found:資源臨時重定向到新地址。
  • 304 Not Modified:資源未修改,客户端可使用本地緩存。
  1. 4xx(客户端錯誤類)
  • 400 Bad Request:請求參數或格式錯誤,服務器無法解析。
  • 401 Unauthorized:請求需用户認證,當前未登錄或憑證無效。
  • 403 Forbidden:服務器拒絕訪問,認證成功也無權限。
  • 404 Not Found:請求的資源不存在。
  • 429 Too Many Requests:請求過於頻繁,觸發限流。
  1. 5xx(服務器錯誤類)
  • 500 Internal Server Error:服務器內部未知錯誤。
  • 502 Bad Gateway:網關 / 代理收到上游服務器無效響應。
  • 503 Service Unavailable:服務器暫時無法提供服務(如維護、過載)。

9.三次握手四次揮手是什麼意思?為什麼是3,不是2或者4?(重)

  1. 定義:TCP 協議中客户端與服務器雙向確認收發能力、建立可靠連接的過程。
  2. 流程
  • 第一次:客户端發SYN報文,請求建立連接。
  • 第二次:服務器回SYN+ACK報文,確認收到請求並同意連接。
  • 第三次:客户端發ACK報文,確認收到服務器的同意。
  1. 為什麼是 3 次,非 2/4 次
  • 不能 2 次:2 次握手僅能確認 “客户端發→服務器收”“服務器發→客户端收”,服務器無法確認客户端能否接收自己的報文,易產生無效連接、浪費資源。
  • 無需 4 次:3 次已完成雙向能力確認,4 次屬於冗餘操作,會增加連接耗時。

四次揮手(TCP 斷開連接)

  1. 定義:TCP 協議中客户端與服務器釋放全雙工通信鏈路、斷開連接的過程。
  2. 流程
  • 第一次:主動關閉方發FIN報文,請求關閉自身發送通道。
  • 第二次:被動關閉方發ACK報文,確認收到關閉請求。
  • 第三次:被動關閉方數據發送完畢後,發FIN報文,請求關閉自身發送通道。
  • 第四次:主動關閉方發ACK報文,確認收到,連接斷開。
  1. 為什麼是 4 次,非 3 次

TCP 是全雙工通信,需分別釋放兩個方向的鏈路。被動關閉方收到FIN後,可能還有數據未發送,無法同時發送FIN+ACK,必須分 “確認關閉請求” 和 “發起關閉請求” 兩步,因此需要 4 次揮手。

10.請求頭包含幾部分?響應頭包含幾部分?

  • 請求頭是請求報文的獨立部分,請求報文整體含 請求行、請求頭、請求體 三部分。
  • 響應頭是響應報文的獨立部分,響應報文整體含 響應行、響應頭、響應體 三部分。

11.http和https的區別是什麼?

  1. 全稱不同

HTTP 是超文本傳輸協議;HTTPS 是超文本傳輸安全協議。

  1. 安全性不同

HTTP 以明文方式傳輸數據,易被竊聽、篡改和偽造,無安全保障;HTTPS 基於 SSL/TLS 協議對數據加密傳輸,能保障數據隱私和完整性。

  1. 端口號不同

HTTP 默認使用 80 端口;HTTPS 默認使用 443 端口。

  1. 證書要求不同

HTTP 無需任何證書;HTTPS 需要 CA 機構頒發的數字證書,用於驗證服務器身份合法性。

  1. 性能不同

HTTP 無加密解密的額外開銷,傳輸速度更快;HTTPS 因加密解密過程會產生性能損耗,傳輸速度略慢。

  1. 地址標識不同

HTTP 網址以 http:// 開頭;HTTPS 網址以 https:// 開頭。

核心區別:HTTPS 是 HTTP 的安全升級版,通過 SSL/TLS 解決了 HTTP 明文傳輸的安全隱患,代價是少量性能損耗和證書部署成本。

12.HTTP中的s是什麼,以上http和https的端口號各是什麼

  1. HTTPS 中的 S 是 Secure(安全的)的縮寫。HTTPS 全稱是 HyperText Transfer Protocol Secure,即超文本傳輸安全協議,本質是 HTTP + SSL/TLS 協議的組合,通過加密保障傳輸安全。
  2. 端口號區別
  • HTTP 默認使用 80 端口;
  • HTTPS 默認使用 443 端口

13.cookie和緩存有什麼區別

  1. 用途不同

Cookie:存儲用户身份、登錄狀態等個性化標識信息。

緩存:存儲 HTML、圖片等靜態資源,提升頁面加載速度。

  1. 存儲內容與大小

Cookie:4KB 左右的小型鍵值對文本,數量有限。

緩存:完整資源文件,容量遠大於 Cookie。

  1. 生命週期

Cookie:由服務器設置,分會話型(關瀏覽器失效)和持久型(按過期時間保存)。

緩存:由響應頭緩存策略控制,可手動清除或隨資源更新失效。

  1. 傳輸方式

Cookie:每次請求會隨請求頭髮送給服務器。

緩存:本地讀取,不向服務器傳輸,緩存失效才重新請求