日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面试必考HTTP协议面试题(含答案)

發布時間:2023/12/29 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面试必考HTTP协议面试题(含答案) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天我們整理一下關于前端面試時會問到HTTP協議的問題

注:個人觀點及答案,望大家采納,指教!!

HTTP 簡介:

HTTP 協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用于從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議;
HTTP 是一個基于TCP/IP通信協議來傳遞數據(HTML文件、圖片文件、查詢結果等);

HTTP工作原理:

HTTP協議工作于客戶端-服務端架構上,瀏覽器作為HTTP客戶端通過URL向HTTP服務端發送所有請求。
web服務器有:Apache 服務器、lls服務器等;
HTTP默認端口號為80,但是也可以改為8080或者其他端口;

1.HTTP的優點和缺點?

優點:

  • 支持客戶/服務器模式:
  • 應用廣泛且跨平臺:
  • 簡單快速、靈活:

缺點:

  • 無連接:
  • 無狀態:無狀態可以減輕服務器負擔,但進行關聯操作時繁瑣,Cookie正好可以解決這個問題
  • 明文傳輸:調試便利的同時帶來了信息易被竊取
  • 不安全:(HTTPS通過引入SSL/TLS層,解決了這個隱患)

2.請求類型Get與Post之間的區別?

區別一:

get重點在從服務器上獲取資源,post重點在向服務器發送數據;

區別二:
get是不安全的,因為URL是可見的,可能會泄露私密信息,如密碼等; post較get安全性較高;

區別三:
get傳輸數據是通過URL請求,以field(字段)= value的形式,置于URL后,并用"?"連接,多個請求數據間用"&"連接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,這個過程用戶是可見的;
post傳輸數據通過Http的post機制,將字段與對應值封存在請求實體中發送給服務器,這個過程對用戶是不可見的

區別四:
Get傳輸的數據量小,因為受URL長度限制,但效率較高;

Post可以傳輸大量數據,所以上傳文件時只能用Post方式;

區別五:
get方式只能支持ASCII字符,向服務器傳的中文字符可能會亂碼。

post支持標準字符集,可以正確傳遞中文字符。

3.HTTP與HTTPS的區別?

HTTPS:是以安全為目標的 HTTP 通道,是 HTTP 的安全版。HTTPS 的安全基礎是 SSL。SSL 協議位于 TCP/IP
協議與各種應用層協議之間,為數據通訊提供安全支持。

區別:

  • HTTP 是超文本傳輸協議,信息是明文傳輸,HTTPS 則是具有安全性的 SSL 加密傳輸協議。
  • HTTP和HTTPS 使用完全不同的連接方式,所用的端口不同,前者是80 端口,后者是 443端口

4.常見HTTP的狀態碼有哪些?

  • 200 – 請求成功
  • 301 – 資源(網頁等)被永久轉移到其它URL
  • 404 – 請求的資源(網頁等)不存在
  • 500 – 內部服務器錯誤
補充:






6.HTTP常見的字段有哪些?

  • URI&URL:
    URI:統一資源標識符,不僅可以標識http,ftp等其他的網絡資源
    URL:統一資源定位符

  • 請求頭:
    GET :獲取一個資源,同時參數直接跟在URL后面,url長度受限制2048字節
    POST:不僅可以獲取資源,還可以提交資源(譬如上傳文件),參數放在請求體中,包大小4G
    HEAD:只要響應頭,沒有響應體,通常用于測試URL是否存在
    DELETE:刪除一個資源
    PUT:通常修改一個資源

  • 響應頭:
    Content-Length:響應體的長度
    Server:服務器的信息
    Content-Type:內容的類型,text/html,xml等
    Last-Modified :最有的修改日期,通常跟緩存相關 20151108
    Location: 新的地址

  • 響應碼:
    200 OK 訪問正常
    206 跟斷點續傳相關
    3XX 重定向:Location
    304 緩存有效
    307 臨時重定向
    4XX 客戶端問題
    401 代表沒有權限訪問
    404 代表訪問的資源不存在
    5XX 通常服務器內部處理的問題

7.請談談你對“ ****三次握手與四次揮手**** ”的理解并說說作用?

三次握手:

1、第一次握手:客戶端給服務端發一個 SYN 報文,并指明客戶端的初始化序列號 ISN(c)。此時客戶端處于 SYN_Send 狀態。

2、第二次握手:服務器收到客戶端的 SYN 報文之后,會以自己的 SYN 報文作為應答,并且也是指定了自己的初始化序列號 ISN(s),同時會把客戶端的 ISN + 1 作為 ACK 的值,表示自己已經收到了客戶端的 SYN,此時服務器處于 SYN_REVD 的狀態。

3、第三次握手:客戶端收到 SYN 報文之后,會發送一個 ACK 報文,當然,也是一樣把服務器的 ISN + 1 作為 ACK 的值,表示已經收到了服務端的 SYN 報文,此時客戶端處于 establised 狀態。

服務器收到 ACK 報文之后,也處于 establised 狀態,此時,雙方以建立起了鏈接。

三次握手的作用:

1、確認雙方的接受能力、發送能力是否正常;
2、指定自己的初始化序列號,為后面的可靠傳送做準備;
3、如果是 https 協議的話,三次握手這個過程,還會進行數字證書的驗證以及加密密鑰的生成到。

四次揮手:

1、第一次揮手:客戶端發送一個 FIN 報文,報文中會指定一個序列號。此時客戶端處于FIN_WAIT1狀態。

2、第二次握手:服務端收到 FIN 之后,會發送 ACK 報文,且把客戶端的序列號值 + 1 作為 ACK 報文的序列號值,表明已經收到客戶端的報文了,此時服務端處于 CLOSE_WAIT狀態。

3、第三次揮手:如果服務端也想斷開連接了,和客戶端的第一次揮手一樣,發給 FIN 報文,且指定一個序列號。此時服務端處于 LAST_ACK 的狀態。

4、第四次揮手:客戶端收到 FIN 之后,一樣發送一個 ACK 報文作為應答,且把服務端的序列號值 + 1 作為自己 ACK 報文的序列號值,此時客戶端處于 TIME_WAIT 狀態。需要過一陣子以確保服務端收到自己的 ACK 報文之后才會進入 CLOSED 狀態

服務端收到 ACK 報文之后,就處于關閉連接了,處于 CLOSED 狀態。

總結

以上是生活随笔為你收集整理的面试必考HTTP协议面试题(含答案)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。