標籤:https over 應用 安全 http協議 1.5 tran erro verify
1、SSL是什麼,為什麼發送HTTPS請求時需要認證驗證?
1.1 SSL:安全通訊端層。是為瞭解決HTTP協議是明文,避免傳輸的資料被竊取,篡改,劫持等。
1.2 TSL:Transport Layer Security,傳輸層安全性通訊協定。TSL其實是SSL標準化後的產物,即SSL/TSL
實際上是一個東西。
1.3 HTTPS:HTTPS是相容HTTP的,可以把HTTPS理解為‘HTTP over TSL‘,即HTTPS是HTTP協議
和TSL協議的組合。
1.4 HTTPS在傳輸資料時,同樣會先建立TCP串連,建立起TCP串連後,會建立TSL串連,這個過程可以
通過抓包查看:
1.5 SSL協議處於網路7層結構的哪一層?有的資料直接說明SSL協議處於傳輸層,
有的資料則說SSL協議處於傳輸層與應用程式層之間。
1.6 請求可以為HTTPS請求驗證SSL認證,就像web瀏覽器一樣,SSL驗證預設是開啟的,
如果認證驗證失敗,請求會拋出SSLError:
>>>import requests
>>>requests.get(‘https:xxxx.com‘) #發起一個https請求
>>>requests.exceptions.SSLError: xxx
1.7 遇到請求的SSL驗證,可以直接跳過不驗證,將verify=False設定一下即可。
官方文檔解釋如下:
2、忽略警告
2.1 將驗證設定忽略後,可以跳過SSL驗證,但存在一個警告資訊InsecureRequestWarning。
以下為忽略警告資訊的方式:
總結:
1.HTTPS請求進行SSL驗證或忽略SSL驗證才能請求成功,忽略方式為verify=False。
2.SSL認證是由CA機構頒發的,所以安全也是要錢的
3.要完全理解HTTP協議,不能只到分辨HTTP的GET,POST等動作的程度,還要去理解7層
網路結構中每層使用的協議,以及資料轉送的過程
request發送HTTPS請求(處理SSL認證驗證)