我想使用HTTPS來保護我的客戶端和服務器之間的通信。第一次加密通信將用於認證用戶 - 即檢查他/她的用戶名和密碼。使用HTTPS進行客戶端 - 服務器通信
用戶憑證將成功由服務器檢查後,我想開始在後續請求中獲取一些數據。但是服務器將如何確定後續請求是由用戶發送的,而用戶的憑證已被檢查?
由於TCP連接可能在登錄和後續HTTPS請求之間關閉,(我認爲)這意味着SSL上下文必須由服務器釋放,所以通過新的GET請求,必須建立新的TCP連接並新的SSL(TLS)握手必須完成(即加密的新共享密碼必須由雙方交換等)
爲此,我認爲服務器需要發送回客戶端200 OK響應初始身份驗證請求會隨機生成一些隨機生成的隨機數(在某個時間內有效),我將在隨後的每個請求中包含該數據,以便服務器能夠基於此隨機生成的隨機數檢測哪個用戶名位於請求後面,檢查該用戶是否已經登錄我的理解是否正確?
非常感謝您的答覆 BR 斯登
嗨,非常感謝您的評論!所有通信都會通過HTTPS進行 - 無一例外。我也是這樣想的 - 在每個請求中發送用戶名/密碼或者讓服務器用一些魔法回覆第一個請求,然後我將在每個請求中使用它,而不是重複用戶名/密碼(我的客戶端不是瀏覽器,但自定義應用程序)。我認爲這兩種方法都差不多,而第二種方法需要在服務器上完成更多的工作。我可以問你什麼是行業標準? HTTPS應用程序是否以重新發送每個請求中的用戶名/密碼的方式創建?謝謝,BR STeN – STeN 2010-10-06 12:22:06
@STeN:有幾個「行業標準」,取決於您的要求是什麼。我列出了以上兩種非常常見的常見使用模式。還有其他的(例如,SSL級別的客戶端證書),但它們不太常見,並且更容易遇到獲取便攜式實施或良好部署的問題。 – 2010-10-06 23:41:23
謝謝 - 你的建議非常好! – STeN 2010-10-07 04:15:13