[請益] 一些基本觀念的釐清

作者: pracinverse (改)   2016-08-07 00:09:00
想釐清一些web application的觀念
1. 一個connection是走HTTP 1.0 or 1.1 or 2.0是怎麼決定的??
是透過web server的設定決定的嗎?
2. 一個browser開了2個tab (tab A和tab B),2個tab都連到同一個server
請問server怎麼知道reponse要回給tab A還是tab B??
是因為這2個tab都有自己的port,所以server可以區別要回給哪個tab嗎??
3. 在server-side的2個pages之間傳遞資料,可以用get, post, session...
請問甚麼情況下要用get比較好??
請問甚麼情況下要用post比較好??
請問甚麼情況下要用session比較好??
4. 在server-side有多台application servers時,
最好是把session data放在cookie裡面,
所以在這種情況下,user登錄後,除非user清除browser的cookie(或user自己按登出)
否則user就會永遠處於登錄狀態,沒有所謂session timeout的問題對吧???
請大家不吝指教,謝謝
作者: hungys (hungys)   2016-08-07 00:52:00
1. client 要指定版本,但也要看 server 支不支援,好像也可以加 Upgrade header 或透過 TLS 的 negotiation protocol extension 讓 server 決定要不要升級連線成 2.02. TCP connection 不同就可以區別啦,另外一般同個 hostname 應該是歸在同一個 connection pool,同時最多五到六條連線 (依瀏覽器不同)說錯請幫忙指正QQ另外 2 嚴格來說要用 tab 來看的話那就是 browser 開發者自己要處理 tab 跟 connection pool 的對應關係吧,應該不是一個 tab 一個 connection / port 的概念。
作者: tommady (tommady)   2016-08-07 10:35:00
小弟淺見。三,get用於不必傳參數反之post用於傳參數的取得,session用在不必分散式的取得。四,依小弟經驗,基本上是的,但如果server重開又沒存下session的話,會有錯誤。三的取得字眼改傳遞,四的session是server side
作者: ripple0129 (perry tsai)   2016-08-07 10:44:00
用參數區分有點籠統,畢竟Get也可以帶參數。Get Post其實可以參考Restful的設計風格關於語義部分。Http request response走一輪就消滅了,資料時效性於該次登入到登出之前都該保存的用session。
作者: Masakiad (Masaki)   2016-08-07 12:20:00
關於4. LB + SSO 可以考慮jwt方案其他問題如其他版友都回答了,要個案釐清。需求跟實作都各自不同
作者: panda04056 (圓仔cross56)   2016-08-07 15:36:00
四:session也可設定存活時間,超過時間還是要從新登入

Links booklink

Contact Us: admin [ a t ] ucptt.com