2015年1月11日 星期日

自學筆記 no.2 -認識Session和Cookie

(一)SessionCookie他們之間有什麼不同?

前導觀念

Http是一個沒有狀態(Stateless)的協定

State 目前的狀態


Stateless 無狀態
Client端對Server發出要求(Request)都是各自獨立,前面要求不影響後面的回應。
範例:
先送出一個Request選定一個標錯價的螢幕,再送出一個Request要結帳,但是上一個選定的Request並不會被儲存,也就是說Server不會記得你剛剛做了什麼。

Stateful 充滿狀態的
能記錄現在Client端與Server端之間的運作,知其做了什麼事件。

進入正題

Cookie

Cookies的生命週期起於瀏覽器被執行時 , 而消滅於瀏覽器結束執行時。(生命週期可設定)
文字檔,存於記憶體與硬碟空間內(Client端),通常記錄網站的個人喜好設定
與Session id,但經過XSS的攻擊後,我們更需要關注其安全性,移出重要資料,不放入其中。
並把HttpOnly屬性設為true,這樣除了HTTP協定以外的東西就無法存取這個Cookie了!



Session

Session有始有終的一系列動作/消息,比如打電話是從拿起電話撥號到掛斷電話這中間的一系列過程可以稱之為一個session。

使用session id來標識session,session id由服務器負責產生,保證隨機性與唯一性,相當於一個隨機密鑰,避免在握手或傳輸中暴露用戶真實密碼。所以說,重要資料就會選擇使用Session,比如說是否登入的驗證。

比較特別的是Session是跟著瀏覽器產生,所以當關掉瀏覽器或是過了20分鐘之後(也可以設定久一點)就會被拋棄。


具體來說

cookie採用的是在客戶端保持狀態的方案,而session機制採用是在服務器端保持狀態的方案。

整理來源:
             Cookie 與 Session    

             Cookies的生命週期


            Session和Cookie的區別

張忠謀:
不再為考試、學位而讀書,要為興趣、將來的工作學習
畢業開始才是真的學習,99%的知識在於畢業後,開始為自己的興趣做累積吧!

2015年1月10日 星期六

自學筆記 no.1 - 認識Apache和Tomcat

()ApacheTomcat而他們之間有什麼不同?
(1)Apache
世界使用排名第一的Web服務器。(開放原始碼、支持跨系統平臺及可移植性)
取自“a patchy server”的讀音,意思是充滿補丁的服務器,因爲它是自由軟件,所以不斷有人來爲它開發新的功能、新的特性、修改原來的缺陷。

特點是簡單、速度快、性能穩定,並可做代理服務器來使用。

支持SSL技術,支持多個虛擬主機。
進程爲基礎的結構,進程要比線程消耗更多的系統開支。因此,在一個Apache Web站點擴容時,通常是增加服務器或擴充群集節點而不是增加處理器。

Apache支援靜態網頁(html的普通網頁)
可通過插件支持PHP,還可與Tomcat連通。
單方向連接Tomcat,就是說通過Apache可訪問Tomcat資源。
(阿帕奇暗戀湯姆貓,這種單方向的關係)


(2)Tomcat
支援動態網頁,開放原始碼,運行servlet和JSP Web應用軟件的基於Java的Web應用軟件容器。是Apache組織在符合J2EE的JSP、Servlet標準下開發的一個JSP伺服器

(3)綜觀區別
Apache和Tomcat是獨立的,在同一臺服務器上可以集成。打個比方:Apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),Tomcat就是一個桶(裝像Java這樣的水),而這個桶也可以不放在卡車上。

使用區別:
Tomcat 作為 jsp,servlet 容器,雖有靜態解析,但性能上與 Apache 相差甚遠。
Apache 可運行一年不重啟,穩定性高,而 Tomcat 則不見得。

整合:
一般使用Apache + Tomcat的話,Apache只是作為一個轉發,對jsp的處理是由Tomcat來處理。

整合的好處:
用戶端請求的是靜態頁面,則只需要Apache伺服器回應請求,Apache 解析 html 等靜態網頁非常快,是經過無數測試證明的。
如果用戶端請求動態頁面,則是Tomcat伺服器回應請求。

因為jsp是伺服器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷。



整理來源:
                   itKee(IT客) http://www.itkee.com/sysapp/detail-8fa.html
                   深綠色的私人世界 http://otaku119.blogspot.tw/2008/05/apache-vs-tomcat.html

JAVA學習之路 機會是留給準備好的人,筆記是寫給未來的自己,有一天再碰上相同的問題,莫驚莫慌莫害怕,而知識是誰也奪不走的寶,最後陪伴的也是他,而他即是我的武器!

#內容如有錯誤請給予指教!