我正在實施一個REST服務器。哪個更好,將用戶名/密碼作爲HTTP頭或HTTP正文中的參數傳遞?
我將收到來自用戶的每個請求的用戶名,requestid和密碼。
我有兩種選擇,我可以要求用戶在http正文或http標頭中傳遞這三個參數。
哪個會是更好的實施方式,爲什麼?
在此先感謝。
我正在實施一個REST服務器。哪個更好,將用戶名/密碼作爲HTTP頭或HTTP正文中的參數傳遞?
我將收到來自用戶的每個請求的用戶名,requestid和密碼。
我有兩種選擇,我可以要求用戶在http正文或http標頭中傳遞這三個參數。
哪個會是更好的實施方式,爲什麼?
在此先感謝。
標題!
如果我理解你的問題,你有什麼,你會通過每一個請求。這意味着如果您想要支持像GET和HEAD這樣的安全請求,那麼您只有兩種選擇:HTTP標頭或URL(通常通過查詢參數)。
由於它包含驗證信息,因此應避免將其放入URL中。除此之外,你說它是加密的,並且一個額外的保護層可以通過SSL來實現,但頭部和主體同樣安全/易受攻擊,所以從安全角度來看它沒有任何區別。
將它放在標題中也會將其與應用程序狀態以及媒體類型分離,這是一件好事。如果你想支持JSON,XML和XHTML表單,它對你的認證參數沒有任何影響。
謝謝Jhericks。它澄清了我的觀點。 – Sarada 2012-02-21 20:21:25
您不應以純文本格式發送身份驗證憑據。你想達到什麼目的?用戶認證,會話管理? – 2012-02-21 19:04:30
每個訪問的用戶認證。並且我們可以在頭部和身體中發送加密值。所以哪一個會更好。 – Sarada 2012-02-21 19:08:13