長(zhǎng)沙發(fā)上的對(duì)話(一)
發(fā)表時(shí)間:2024-02-07 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]開始治療 心理醫(yī)生: 好。你今天感覺怎么樣,維克多?病人: 不太好,醫(yī)生。我近來感到有點(diǎn)憂郁... 心理醫(yī)生: 那是為什么,維克多?病人: 我不知道,醫(yī)生。我睡眠不太好,而且我一點(diǎn)胃口也沒有。有一天我們?nèi)ヒ粋(gè)意大利餐館,要了通心面 -- 但時(shí)當(dāng)他們把它端上來的時(shí)候,我一點(diǎn)也吃不下去。我就一直看著它...
開始治療 心理醫(yī)生: 好。你今天感覺怎么樣,維克多?
病人: 不太好,醫(yī)生。我近來感到有點(diǎn)憂郁...
心理醫(yī)生: 那是為什么,維克多?
病人: 我不知道,醫(yī)生。我睡眠不太好,而且我一點(diǎn)胃口也沒有。有一天我們?nèi)ヒ粋(gè)意大利餐館,要了通心面 -- 但時(shí)當(dāng)他們把它端上來的時(shí)候,我一點(diǎn)也吃不下去。我就一直看著它,在我的頭里一直回蕩著“女高音”的主題曲...
心理醫(yī)生: 家里怎么樣?
病人: 都很好,我想。Marge大部分時(shí)間都在廚房,試她從網(wǎng)上下載的菜譜。孩子們每天很早就出去了,一般在吃飯時(shí)才看得見他們,但是現(xiàn)在他們開始在Burger King吃了。那我也不能責(zé)備他們。
心理醫(yī)生: 工作 - 都很好吧?
病人: 不太好 - 我有一個(gè)虐待成性的魔鬼老板,他打算打我的生活變成象Dilbert Zone一樣!
心理醫(yī)生: 跟我說一說他吧。
病人: 好,你知道我是做什么的 - 我是一個(gè)在Used Socks. Inc.的web程序員。下個(gè)星期我們的新網(wǎng)站就要使用了,我們正在做著完全不同的東西 -- 一個(gè)在線商店,供人們出售他們的舊物。我們得到了一些好心人的投資 - 6百萬元,如果我們成為在web最受歡迎的舊物門戶,我們還可得到更多的投資。
心理醫(yī)生: 聽上去對(duì)你不錯(cuò)嘛。
病人: 你說的對(duì)。但是,然后有一天老板進(jìn)來,他說他交給我一項(xiàng)開發(fā)在線商店購(gòu)物車的工作。他明確地要求我用什么叫“session”的東西。當(dāng)然,只不過讓事情變得有趣,他說他想在兩天內(nèi)做完并能運(yùn)行...虐待狂、變態(tài)!
心理醫(yī)生: 有問題嗎?
病人: 有,特別是首先我根本不知道“session”是什么,或怎么去用它。我意思是說,我原以為一個(gè)session 就是對(duì)一個(gè)病人的短期治療 -- 有一點(diǎn)象我們正在做的一樣。
心理醫(yī)生: 哦,維克多,維克多...這就是麻煩你的事嗎?我想我可能有東西能幫助你...
西雅圖無狀態(tài)
開低級(jí)玩笑的人為了給能聽到談話的年輕女性留下印象,互相之間最經(jīng)常說的事情之一就是:“HTTP是一種無狀態(tài)協(xié)議,Internet是無狀態(tài)開發(fā)環(huán)境”。用簡(jiǎn)單的話來講,HTTP(HyperText Transfer Protocal )協(xié)議,作為web的骨干,不能夠記住與一個(gè)網(wǎng)站連接用戶的身份,所以對(duì)web頁的請(qǐng)求被看作是唯一和獨(dú)立的連接,與在它之前的連接無論如何都沒有關(guān)系 -- 這一點(diǎn)與今天很多愛冒險(xiǎn)的十幾歲的年輕人的行為很象,他們每天喝? 夜,第二天早晨醒來對(duì)發(fā)生過什么都不記得了,晚上再出去做同樣的事,一遍又一遍...
現(xiàn)在,如果你是漫無目的地從一個(gè)站點(diǎn)沖浪到另一個(gè),沒有什么問題。但是當(dāng)你想從Amazon.com上買幾本書會(huì)怎么樣呢?“在一個(gè)無狀態(tài)的環(huán)境中,記住所有在你的購(gòu)物單上的物品是非常困難的,因?yàn)镠TTP協(xié)議的這種無狀態(tài)的性質(zhì)使得跟蹤選中物品是不可能的。
因此就要求一種能夠使記住狀態(tài)成為可能的方法,能夠跟蹤用戶的連接并且保存連接特定數(shù)據(jù)的東西。因此產(chǎn)生了“cookie”,它可以允許Web 站點(diǎn)在客戶系統(tǒng)的一個(gè)文件中保存客戶特定信息,并且當(dāng)任何時(shí)候請(qǐng)求時(shí)都可以從文件中取出信息。所以,在上面的購(gòu)物車?yán)又校贿x中的商品可以加到cookie中,并且在消費(fèi)者結(jié)帳時(shí),可以被取出并呈現(xiàn)在購(gòu)物單中。
基于cookie的解決方案存在一個(gè)問題,那就是它要求cookie能夠被客戶所接受。所以,有另一種解決辦法就是使用“session”,當(dāng)一個(gè)客戶訪問一個(gè)Web站點(diǎn)時(shí),用它來保存特定的一小塊數(shù)據(jù)。這個(gè)會(huì)話(session)數(shù)據(jù)在整個(gè)訪問期間被保存下來。一個(gè)session可以被看成一個(gè)信息籃,它保存著主機(jī)的變量對(duì)。這些變量對(duì)在整個(gè)訪間期間都存在,并且可以在任何時(shí)刻被處理。這個(gè)方法對(duì)協(xié)議的無狀態(tài)的特點(diǎn)提供了一流的解決辦法,并且在今天很多大型的網(wǎng)站上,可以跟蹤和保存信息,用于個(gè)人和商業(yè)交易。
每一個(gè)被創(chuàng)建的session 都有一個(gè)唯一的標(biāo)識(shí)串,這個(gè)串被發(fā)送到客戶端,同時(shí)在服務(wù)端也生成了同樣唯一標(biāo)識(shí)串的入口,或者放在文本文件或者在一個(gè)數(shù)據(jù)庫(kù)中,F(xiàn)在就可以注冊(cè)任何的session 變量 -- 這些普通的變量可以保存文本或數(shù)值信息,可以通過session 被讀出,或?qū)懭搿?br>
現(xiàn)在,如果你已經(jīng)跟隨著開放源碼運(yùn)動(dòng),你已經(jīng)知道了PHP ,在這個(gè)星球上最熱門的腳本語言。最新的版本是PHP4,包括了對(duì)session的創(chuàng)建和管理的支持,在下面的幾頁中,我們將向你展示如何使用它。如果你還在使用PHP3,不要失望 -- 我們也將涉及PHPLIB,它包括一組強(qiáng)大的PHP對(duì)象,可以在基于PHP3的站點(diǎn)上加入無縫的session管理。
在下面幾頁中,我們假設(shè)你已經(jīng)有一個(gè)支持PHP4或PHPLIB的站點(diǎn)。如果還沒有,你應(yīng)該下載這些包,并且將它們安裝到你的開發(fā)機(jī)器上去。PHP4,是一個(gè)質(zhì)量?jī)?yōu)良的代碼,可以在PHP站點(diǎn) http://www.php.net找到,最新的PHPLIB版本可以在http://phplib.netuse.de/找到。