GET和POST的區別,Cookie和Session的區別和聯絡,
1.GET和POST的區別
A. 從字面意思和HTTP的規範來看,GET用於獲取資源資訊而POST是用來更新資源資訊。
B. GET提交請求的資料實體會放在URL的後面,用?來分割,引數用&連線,舉個栗子:/index.html?name=wang&login=1
C. GET提交的資料長度是有限制的,因為URL長度有限制,具體的長度限制視瀏覽器而定。而POST沒有。
D. GET提交的資料不安全,因為引數都會暴露在URL上。
2.408 Request Timeout和504 Gateway Timeout的區別
408是說請求超時,就是建立連線之後再約定的時間內客戶端沒有傳送請求到客戶端到服務端。本質上原因在於客戶端或者網路擁塞。504是閘道器超時,是說代理伺服器把客戶端請求轉發到應用伺服器後再約定的時間內沒有收到應用伺服器的響應。本質上原因在於服務端的響應過慢,也有可能是網路問題。
3.Cookie和Session的區別和聯絡
Cookie和Session都是為了儲存客戶端和服務端之間的互動狀態,實現機制不同,各有優缺點。
首先一個最大的區別就是Cookie是儲存在客戶端而Session就儲存在服務端的。
Cookie是客戶端請求服務端時伺服器會將一些資訊以鍵值對的形式返回給客戶端,儲存在瀏覽器中,互動的時候可以加上這些Cookie值。用Cookie就可以方便的做一些快取。Cookie的缺點是大小和數量都有限制;Cookie是存在客戶端的可能被禁用、刪除、篡改,是不安全的;Cookie如果很大,每次要請求都要帶上,這樣就影響了傳輸效率。
S ession是基於Cookie來實現的,不同的是Session本身存在於服務端,但是每次傳輸的時候不會傳輸資料,只是把代表一個客戶端的唯一ID(通常是JSESSIONID)寫在客戶端的Cookie中,這樣每次傳輸這個ID就可以了。Session的優勢就是傳輸資料量小,比較安全。
但是Session也有缺點,就是如果Session不做特殊的處理容易失效、過期、丟失或者Session過多導致伺服器記憶體溢位,並且要實現一個穩定可用安全的分散式Session框架也是有一定複雜度的。在實際使用中就要結合Cookie和Session的優缺點針對不同的問題來設計解決方案。