http協議:三 (7)http優缺點


HTTP優點:
簡單、靈活、易於擴展,應用廣泛、軟硬件環境成熟、無狀態
HTTP缺點:
明文傳輸、不安全、性能不算差但也不夠好
HTTP優缺點並存:
明文傳輸、無狀態

簡單、靈活、可擴展
HTTP協議很簡單,報文格式就是header+body,頭部信息也是簡單的文本格式,用的也是常見的英文單詞。學習使用的門檻很低。正是基於簡單這個最基本的設計理念,才有了HTTP最鋒利的劍:靈活可擴展!簡單相當於一張白紙,你想怎么寫都行。
HTTP里的請求方法、URI、狀態碼、原因短語、頭字段等每一個核心組件都沒有被寫死,允許任意定制、擴充和解釋,缺什么功能自己寫就可以了。
HTTP不限制具體的下層協議,下層協議可以隨意變化,上層的語義卻可以始終保持穩定。

應用廣泛、軟硬件環境成熟
HTTP已經遍布互聯網世界,很能找到一個沒有使用HTTP的地方。無論應用領域還是開發領域都得到了廣泛支持。HTTP天然具有跨語言、跨平台的特性,幾乎所有編程語言都有HTTP調用庫和外圍的開發測試工具。
很多互聯網和傳統行業公司都購買服務器開辦網站、建設數據中心、CDN和高速光纖,持續優化上網體驗。

無狀態
無狀態令服務器不需要額外的資源來記錄狀態信息,負擔輕一些。
無狀態令服務器沒有狀態的差異,很容易組成集群,讓負載均衡把請求轉發到任意一台服務器,不會因為昨天不一致導致處理出錯,直接買多幾台服務器就可以輕松實現高並發高可用。
無狀態的缺點就是沒有記憶能力,也就無法支持需要連續多個步驟的事務操作,每一次都要問一次身份信息,不僅麻煩,也增加了不必要的數據傳輸量。但這個問題可以通過Cookies解決。

明文
是優點也是缺點;
明文的意思就是協議里的報文header部分,不使用二進制數據,而使用簡單可閱讀的文本形式。優點就是不需要借助任何外部工具,抓包后直接就可以查看或者修改,開發調試起來很便利。
缺點就是毫無隱私可言,只需要侵入了這個鏈路里的某個設備,簡單地旁路一下瀏覽,就可以實現對通信的窺視。

不安全
HTTP沒有提供有效的手段來確認通信雙方的真實身份,雖然有基本的認證機制,但在明文傳輸面前幾乎等同無效。
HTTP也不支持完整性校驗,數據在傳輸過程中很容易被篡改而無法驗證真偽。
正是因為這個缺陷,所以出現了HTTPS。

性能
不算差、不夠好
因為請求-應答模式決定了按順序發送的請求序列中有一個請求因為某種原因被阻塞時,后面一長串的請求也會被阻塞,會導致客戶端遲遲收不到數據。

其他
出於安全原因,絕大多數網站都封禁了80/8080意外的端口號,只允許HTTP進行穿透,這也是導致HTTP流行的客觀原因之一。80/8080是HTTP端口。

問題

絕大多數的網站都封禁了80/8080以外的端口號,只允許HTTP進行穿透。
1、最初為什么要封禁其他端口只留80/8080呢? 2、穿透是什么意思?

回復:

1.因為80/8080只用於http協議傳輸網頁,禁掉其他端口就降低了被嗅探、攻擊的可能性,提高安全性。
2.穿透是個通俗的說法,就是通過80端口可以一路暢通,一直傳到后端去處理,而不會在服務器被擋住。


免責聲明!

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



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