http與https的區別是什麼?
http與https的區別是什麼?http超文本傳輸協議是一種網路協議傳輸格式,所有的WWW文件都必須遵守這個標準規定了客戶端和伺服器之間的數據傳輸格式,因為http是未加密的所以出現了更安全的https,想知道他們的區別請研讀下文。
http與https的區別是什麼?
http協議傳輸的數據都是未加密的,也就是明文的,因此使用http協議傳輸隱私信息非常不安全。為了保證這些隱私數據能加密傳輸,於是網景公司設計了ssl(Secure Sockets Layer)協議用於對http協議傳輸的數據進行加密,從而就誕生了https。
而https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,要比http協議安全。
http缺點:
1、通信使用明文(未加密的報文),內容可能會被竊聽:即使是加密處理的通信,也會被窺視到通信內容,這點和未加密的通信是一樣的。只是說如果通信經過加密,就有可能讓人無法破解報文信息的含義,但加密處理後的報文信息本身還是會被看到的。(例如抓包工具)
2、不驗證通信方的身份就可能遭遇偽裝:http協議的實現本身非常簡單,不論是誰發來的請求都會返迴響應。但是通過SSL可以查明對手的證書。(偽造證書是一件異常困難的事情)
3、無法證明報文的完整性,可能已被篡改:雖然http有MD5等校驗演算法,但是MD5本身也可能被修改,這樣的話,用戶完全察覺不到。為了防止弊端,有必要使用https。
http+加密+認證+完整性保護=https
為什麼不一直使用https?
加密通信會消耗更多的CPU和內存資源,加密證書購買的成本。
現在大多非敏感信息使用http通信,包含個人信息的敏感數據,才會利用https加密通信。
http的優點:
速度快,效率高:如果使用加密,必然密集使用CPU,那麼就會拖慢處理速度。
GET與POST的區別:
GET - 從指定的資源請求數據。
POST - 向指定的資源提交要被處理的數據。
GET使用URL傳參數,而POST將數據都放在BODY中。
基於伺服器安全性和穩定性考慮,會對URL的長度進行限制。所以就有了以下說法:GET請求因為URL長度的限制,所以對URL的大小進行了限制,而POST請求,數據都在BODY中,可以隨意選擇數據的大小。
POST比GET更安全一點點:GET的URL帶有參數,並且會被放在瀏覽器歷史和伺服器日誌中,只要被偷窺了信息應該就會被他人獲取,而POST,日誌沒有記錄,只要資料庫伺服器不被入侵,基本還是安全的。(當然被抓了包,二者都不行)
冪等的說法,對於GET,同一個URL我們多次請求的數據是一樣的,也方便大家進行轉發和書籤;而POST多用于敏感數據表單的提交,刷新之後就需要重新輸入。
以上陳述便是http與https的區別,簡單的來說就是,http不安全容易被網路上的專業人士截獲信息(竊聽),而https則相對安全,可以構建加密傳輸、身份認證的網路協議。


TAG:IT劉偉東 |