HTTP協(xié)議簡(jiǎn)介:
HTTP是超文本傳輸協(xié)議,是一種無(wú)狀態(tài)的協(xié)議,是常見的一種應(yīng)用層協(xié)議。HTTP是一個(gè)通信規(guī)則,規(guī)定了客戶端發(fā)送給服務(wù)器的內(nèi)容格式,也規(guī)定了服務(wù)器發(fā)送給客戶端的內(nèi)容格式。
HTTP請(qǐng)求信息:HTTP請(qǐng)求頭中可以看到當(dāng)前請(qǐng)求支持的語(yǔ)言,壓縮格式,編碼格式以及何種類型的返回文件,Connection以及Cookie,Content-Type等信息。
HTTP返回信息:HTTP返回信息中包括響應(yīng)協(xié)議,HTTP Code以及Content-Type,時(shí)間和Cookie等信息。
瀏覽網(wǎng)頁(yè)是HTTP的主要應(yīng)用,但是這并不代表HTTP就只能應(yīng)用于網(wǎng)頁(yè)的瀏覽。HTTP是一種協(xié)議,只要通信的雙方都遵守這個(gè)協(xié)議,HTTP就能有用武之地。比如咱們常用的QQ,迅雷這些軟件,都會(huì)使用HTTP協(xié)議(還包括其他的協(xié)議)。
HTTP的特點(diǎn)
1、簡(jiǎn)單快速:客戶向服務(wù)器請(qǐng)求服務(wù)時(shí),只需傳送請(qǐng)求方法和路徑。由于HTTP協(xié)議簡(jiǎn)單,使得HTTP服務(wù)器的程序規(guī)模小,因而通信速度很快。
2、靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對(duì)象。正在傳輸?shù)念愋陀蒀ontent-Type加以標(biāo)記。
3、HTTP 0.9和1.0使用非持續(xù)連接:限制每次連接只處理一個(gè)請(qǐng)求,服務(wù)器處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后,即斷開連接。HTTP 1.1使用持續(xù)連接:不必為每個(gè)web對(duì)象創(chuàng)建一個(gè)新的連接,一個(gè)連接可以傳送多個(gè)對(duì)象,采用這種方式可以節(jié)省傳輸時(shí)間。
4、無(wú)狀態(tài):HTTP協(xié)議是無(wú)狀態(tài)協(xié)議。無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快。
5、支持B/S及C/S模式。
HTTP工作流程
一次HTTP操作稱為一個(gè)事務(wù),其工作過(guò)程可分為四步:
1.首先客戶機(jī)與服務(wù)器需要建立連接。只要單擊某個(gè)超級(jí)鏈接,HTTP的工作開始。
2.建立連接后,客戶機(jī)發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(URL)、協(xié)議版本號(hào),后邊是MIME信息包括請(qǐng)求修飾符、客戶機(jī)信息和可能的內(nèi)容。
3.服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后邊是MIME信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。
4.客戶端接收服務(wù)器所返回的信息通過(guò)瀏覽器顯示在用戶的顯示屏上,然后客戶機(jī)與服務(wù)器斷開連接。
如果在以上過(guò)程中的某一步出現(xiàn)錯(cuò)誤,那么產(chǎn)生錯(cuò)誤的信息將返回到客戶端,有顯示屏輸出。對(duì)于用戶來(lái)說(shuō),這些過(guò)程是由HTTP自己完成的,用戶只要用鼠標(biāo)點(diǎn)擊,等待信息顯示就可以了。
HTTP之請(qǐng)求消息Request
客戶端發(fā)送一個(gè)HTTP請(qǐng)求到服務(wù)器的請(qǐng)求消息包括以下格式:
?請(qǐng)求行、請(qǐng)求頭部、空行和請(qǐng)求數(shù)據(jù)四個(gè)部分組成。
(1)Get請(qǐng)求例子

第一部分:請(qǐng)求行,用來(lái)說(shuō)明請(qǐng)求類型,要訪問的資源以及所使用的HTTP版本.
GET說(shuō)明請(qǐng)求類型為GET,[/562f25980001b1b106000338.jpg]為要訪問的資源,該行的最后一部分說(shuō)明使用的是HTTP1.1版本。
第二部分:請(qǐng)求頭部,緊接著請(qǐng)求行(即第一行)之后的部分,用來(lái)說(shuō)明服務(wù)器要使用的附加信息
從第二行起為請(qǐng)求頭部,HOST將指出請(qǐng)求的目的地.User-Agent,服務(wù)器端和客戶端腳本都能訪問它,它是瀏覽器類型檢測(cè)邏輯的重要基礎(chǔ).該信息由你的瀏覽器來(lái)定義,并且在每個(gè)請(qǐng)求中自動(dòng)發(fā)送等等
第三部分:空行,請(qǐng)求頭部后面的空行是必須的
即使第四部分的請(qǐng)求數(shù)據(jù)為空,也必須有空行。
第四部分:請(qǐng)求數(shù)據(jù)也叫主體,可以添加任意的其他數(shù)據(jù)。
這個(gè)例子的請(qǐng)求數(shù)據(jù)為空。
POST請(qǐng)求例子

第一部分:請(qǐng)求行,第一行明了是post請(qǐng)求,以及http1.1版本。
第二部分:請(qǐng)求頭部,第二行至第六行。
第三部分:空行,第七行的空行。
第四部分:請(qǐng)求數(shù)據(jù),第八行。
?HTTP之響應(yīng)消息Response
一般情況下,服務(wù)器接收并處理客戶端發(fā)過(guò)來(lái)的請(qǐng)求后會(huì)返回一個(gè)HTTP的響應(yīng)消息。
HTTP響應(yīng)也由四個(gè)部分組成,分別是:狀態(tài)行、消息報(bào)頭、空行和響應(yīng)正文。

第一部分:狀態(tài)行,由HTTP協(xié)議版本號(hào), 狀態(tài)碼, 狀態(tài)消息 三部分組成。
第一行為狀態(tài)行,(HTTP/1.1)表明HTTP版本為1.1版本,狀態(tài)碼為200,狀態(tài)消息為(ok)
第二部分:消息報(bào)頭,用來(lái)說(shuō)明客戶端要使用的一些附加信息
第二行和第三行和第四行為消息報(bào)頭,
Date:生成響應(yīng)的日期和時(shí)間;Content-Type:指定了MIME類型的HTML(text/html),編碼類型是ISO-8859-1
第三部分:空行,消息報(bào)頭后面的空行是必須的
第四部分:響應(yīng)正文,服務(wù)器返回給客戶端的文本信息。
空行后面的html部分為響應(yīng)正文。
?HTTP之狀態(tài)碼 ? ? ? ? ? ? ? ? ??
狀態(tài)代碼有三位數(shù)字組成,第一個(gè)數(shù)字定義了響應(yīng)的類別,共分五種類別:
1xx:指示信息--表示請(qǐng)求已接收,繼續(xù)處理
2xx:成功--表示請(qǐng)求已被成功接收、理解、接受
3xx:重定向--要完成請(qǐng)求必須進(jìn)行更進(jìn)一步的操作
4xx:客戶端錯(cuò)誤--請(qǐng)求有語(yǔ)法錯(cuò)誤或請(qǐng)求無(wú)法實(shí)現(xiàn)
5xx:服務(wù)器端錯(cuò)誤--服務(wù)器未能實(shí)現(xiàn)合法的請(qǐng)求
常見狀態(tài)碼:
200(成功)
302 (重定向):請(qǐng)求重定向到指定網(wǎng)頁(yè)
304(未修改):自從上次請(qǐng)求后,請(qǐng)求的網(wǎng)頁(yè)未修改過(guò)。服務(wù)器返回此響應(yīng)時(shí),不會(huì)返回網(wǎng)頁(yè)內(nèi)容
401(未授權(quán)):請(qǐng)求要求身份驗(yàn)證
403(禁止):服務(wù)器拒絕請(qǐng)求(比如死循環(huán)了,一直訪問)
404(未找到):服務(wù)器找不到請(qǐng)求的網(wǎng)頁(yè)
405 (方法禁用):Post請(qǐng)求當(dāng)成了Get請(qǐng)求直接訪問
500 (服務(wù)器內(nèi)部錯(cuò)誤):有bug導(dǎo)致程序嗝屁了
502 (錯(cuò)誤網(wǎng)關(guān)):服務(wù)器從上游接到了無(wú)效響應(yīng)
504 ( 網(wǎng)關(guān)超時(shí)):nginx請(qǐng)求超時(shí),請(qǐng)求一直沒有返回
HTTP請(qǐng)求方法 ? ? ? ? ? ? ? ? ?
根據(jù)HTTP標(biāo)準(zhǔn),HTTP請(qǐng)求可以使用多種請(qǐng)求方法。
HTTP1.0定義了三種請(qǐng)求方法:GET,POST和HEAD方法。
HTTP1.1新增了五種請(qǐng)求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT 方法。

HTTP工作原理 ? ? ? ? ? ? ? ? ? ?
HTTP協(xié)議定義Web客戶端如何從Web服務(wù)器請(qǐng)求Web頁(yè)面,以及服務(wù)器如何把Web頁(yè)面?zhèn)魉徒o客戶端。HTTP協(xié)議采用了請(qǐng)求/響應(yīng)模型??蛻舳讼蚍?wù)器發(fā)送一個(gè)請(qǐng)求報(bào)文,請(qǐng)求報(bào)文包含請(qǐng)求的方法、URL、協(xié)議版本、請(qǐng)求頭部和請(qǐng)求數(shù)據(jù)。服務(wù)器以一個(gè)狀態(tài)行作為響應(yīng),響應(yīng)的內(nèi)容包括協(xié)議的版本、成功或者錯(cuò)誤代碼、服務(wù)器信息、響應(yīng)頭部和響應(yīng)數(shù)據(jù)。
以下是 HTTP 請(qǐng)求/響應(yīng)的步驟:
1、客戶端連接到Web服務(wù)器
一個(gè)HTTP客戶端,通常是瀏覽器,與Web服務(wù)器的HTTP端口(默認(rèn)為80)建立一個(gè)TCP套接字連接。例如,http://www.oakcms.cn。
2、發(fā)送HTTP請(qǐng)求
通過(guò)TCP套接字,客戶端向Web服務(wù)器發(fā)送一個(gè)文本的請(qǐng)求報(bào)文,一個(gè)請(qǐng)求報(bào)文由請(qǐng)求行、請(qǐng)求頭部、空行和請(qǐng)求數(shù)據(jù)4部分組成。
3、服務(wù)器接受請(qǐng)求并返回HTTP響應(yīng)
Web服務(wù)器解析請(qǐng)求,定位請(qǐng)求資源。服務(wù)器將資源復(fù)本寫到TCP套接字,由客戶端讀取。一個(gè)響應(yīng)由狀態(tài)行、響應(yīng)頭部、空行和響應(yīng)數(shù)據(jù)4部分組成。
4、釋放連接TCP連接
若connection 模式為close,則服務(wù)器主動(dòng)關(guān)閉TCP連接,客戶端被動(dòng)關(guān)閉連接,釋放TCP連接;若connection 模式為keepalive,則該連接會(huì)保持一段時(shí)間,在該時(shí)間內(nèi)可以繼續(xù)接收請(qǐng)求;
5、客戶端瀏覽器解析HTML內(nèi)容
客戶端瀏覽器首先解析狀態(tài)行,查看表明請(qǐng)求是否成功的狀態(tài)代碼。然后解析每一個(gè)響應(yīng)頭,響應(yīng)頭告知以下為若干字節(jié)的HTML文檔和文檔的字符集??蛻舳藶g覽器讀取響應(yīng)數(shù)據(jù)HTML,根據(jù)HTML的語(yǔ)法對(duì)其進(jìn)行格式化,并在瀏覽器窗口中顯示。
?GET和POST的區(qū)別 ? ? ?
? ? ?1、GET提交的數(shù)據(jù)會(huì)放在URL之后,以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的數(shù)據(jù)放在HTTP包的Body中.
? ? ?2、GET提交的數(shù)據(jù)大小有限制(因?yàn)闉g覽器對(duì)URL的長(zhǎng)度有限制),而POST方法提交的數(shù)據(jù)沒有限制.
? ? ?3、GET方式需要使用Request.QueryString來(lái)取得變量的值,而POST方式通過(guò)Request.Form來(lái)獲取變量的值。
? ? ?4、GET方式提交數(shù)據(jù),會(huì)帶來(lái)安全問題,比如一個(gè)登錄頁(yè)面,通過(guò)GET方式提交數(shù)據(jù)時(shí),用戶名和密碼將出現(xiàn)在URL上,如果頁(yè)面可以被緩存或者其他人可以訪問這臺(tái)機(jī)器,就可以從歷史記錄獲得該用戶的賬號(hào)和密碼.
SSL協(xié)議:
HTTPS協(xié)議在HTTP的基礎(chǔ)上加入了SSL(安全套接字層)協(xié)議,SSL逐漸演變?yōu)榱薚LS協(xié)議,但是業(yè)界習(xí)慣仍然稱其為SSL協(xié)議。
SSL協(xié)議在傳輸控制層的基礎(chǔ)上建立了安全的連接,它作為一種通用可靠的安全解決方案,可與多種應(yīng)用層協(xié)議結(jié)合使用,實(shí)現(xiàn)應(yīng)用數(shù)據(jù)的安全傳輸。SSL協(xié)議分為記錄協(xié)議,握手協(xié)議,警告協(xié)議和密碼規(guī)范改變協(xié)議:
記錄協(xié)議:接收上層協(xié)議或下層協(xié)議的消息并進(jìn)行一系列的處理,然后再將處理后的消息繼續(xù)向下或向上傳遞。主要包括對(duì)消息進(jìn)行加解密,壓縮解壓縮,分段或者重組等操作。
握手協(xié)議:建立在三次握手之后,為通信雙方確立安全連接所需要的安全參數(shù),通常也會(huì)在此階段對(duì)通信雙方身份的真實(shí)性進(jìn)行驗(yàn)證。
警告協(xié)議:無(wú)論是在握手階段還是在對(duì)應(yīng)用層數(shù)據(jù)的傳輸階段,都有可能出現(xiàn)差錯(cuò)。警告協(xié)議規(guī)定了在SSL協(xié)議工作過(guò)程中可能出現(xiàn)的差錯(cuò)、錯(cuò)誤的嚴(yán)重等級(jí)以及相應(yīng)的處理方式。
密碼規(guī)范改變協(xié)議:在SSL握手剛開始的時(shí)候,加密參數(shù)還沒確定,消息都是明文傳送的。雙方協(xié)商好加密參數(shù)之后,在發(fā)送握手結(jié)束消息之前,需要發(fā)送一個(gè)密碼規(guī)范改變消息(Change Cipher Message)來(lái)通知對(duì)方隨后的消息都使用剛剛協(xié)商好的加密算法和加密密鑰進(jìn)行加密。
一.為什么需要https ?
1.HTTP是明文傳輸的,也就意味著,介于發(fā)送端、接收端中間的任意節(jié)點(diǎn)都可以知道你們傳輸?shù)膬?nèi)容是什么。這些節(jié)點(diǎn)可能是路由器、代理等。
舉個(gè)最常見的例子,用戶登陸。用戶輸入賬號(hào),密碼,采用HTTP的話,只要在代理服務(wù)器上做點(diǎn)手腳就可以拿到你的密碼了。
? ? ? ?用戶登陸 --> 代理服務(wù)器(做手腳)--> 實(shí)際授權(quán)服務(wù)器
? ? ?2.在發(fā)送端對(duì)密碼進(jìn)行加密?沒用的,雖然別人不知道你原始密碼是多少,但能夠拿到加密后的賬號(hào)密碼,照樣能登陸。(這也是很多人覺得前端加密并沒有啥軟用)
二.HTTPS是如何保障安全的 ?
? ? ?稍微了解網(wǎng)絡(luò)基礎(chǔ)的同學(xué)都知道,HTTP是應(yīng)用層協(xié)議,位于HTTP協(xié)議之下是傳輸協(xié)議TCP。TCP負(fù)責(zé)傳輸,HTTP則定義了數(shù)據(jù)如何進(jìn)行包裝。

? ? ? ? 從上面圖中我們可以看出:HTTPS相對(duì)于HTTP有哪些不同呢?其實(shí)就是在HTTP跟TCP中間加多了一層加密層TLS/SSL。
神馬是TLS/SSL?
? ? ? ?通俗的講,TLS、SSL其實(shí)是類似的東西,SSL中文叫做“安全套接層”,SSL是個(gè)加密套件,負(fù)責(zé)對(duì)HTTP的數(shù)據(jù)進(jìn)行加密。TLS是SSL的升級(jí)版?,F(xiàn)在提到HTTPS,加密套件基本指的是TLS。
傳輸加密的流程
? ? ? 原先是應(yīng)用層將數(shù)據(jù)直接給到TCP進(jìn)行傳輸,現(xiàn)在改成應(yīng)用層將數(shù)據(jù)給到TLS/SSL,將數(shù)據(jù)加密后,再給到TCP進(jìn)行傳輸。
? ? ? 就是這么回事。將數(shù)據(jù)加密后再傳輸,而不是任由數(shù)據(jù)在復(fù)雜而又充滿危險(xiǎn)的網(wǎng)絡(luò)上明文裸奔,在很大程度上確保了數(shù)據(jù)的安全。這樣的話,即使數(shù)據(jù)被中間節(jié)點(diǎn)截獲,壞人也看不懂。
三.HTTPS是如何加密數(shù)據(jù)的 ??
一般來(lái)說(shuō),加密分為對(duì)稱加密、非對(duì)稱加密(也叫公開密鑰加密)。
對(duì)稱加密的意思就是,加密數(shù)據(jù)用的密鑰,跟解密數(shù)據(jù)用的密鑰是一樣的。
? ? ? ?對(duì)稱內(nèi)容加密強(qiáng)度非常高,一般破解不了。但存在一個(gè)很大的問題就是無(wú)法安全地生成和保管密鑰。假如客戶端軟件和服務(wù)器之間每次會(huì)話都使用固定的,相同的密鑰加密和解密,肯定存在很大的安全隱患。如果
有人從客戶端端獲取到了對(duì)稱密鑰,整個(gè)內(nèi)容就不存在安全性了,而且管理海量的客戶端密鑰也是一件很復(fù)雜的事情。
非對(duì)稱加密的意思就是,加密數(shù)據(jù)用的密鑰(公鑰),跟解密數(shù)據(jù)用的密鑰(私鑰)是不一樣的。
? 什么叫做公鑰呢?其實(shí)就是字面上的意思——公開的密鑰,誰(shuí)都可以查到。因此非對(duì)稱加密也叫做公開密鑰加密。
相對(duì)應(yīng)的,私鑰就是非公開的密鑰,一般是由網(wǎng)站的管理員持有。
? 公鑰、私鑰兩個(gè)有什么聯(lián)系呢?
? 簡(jiǎn)單的說(shuō)就是,通過(guò)公鑰加密的數(shù)據(jù),只能通過(guò)私鑰解開。通過(guò)私鑰加密的數(shù)據(jù),只能通過(guò)公鑰解開。
? 很多同學(xué)都知道用私鑰能解開公鑰加密的數(shù)據(jù),但忽略了一點(diǎn),私鑰加密的數(shù)據(jù),同樣可以用公鑰解密出來(lái)。而這點(diǎn)對(duì)于理解HTTPS的整套加密、授權(quán)體系非常關(guān)鍵。
? 非對(duì)稱密鑰交換很安全,但同時(shí)也是 HTTPS 性能和速度降低的“罪魁禍?zhǔn)住薄?/p>
HTTP和HTTPS的區(qū)別有哪些?
Http協(xié)議運(yùn)行在TCP之上,明文傳輸,客戶端與服務(wù)器端都無(wú)法驗(yàn)證對(duì)方的身份;Https是身披SSL(Secure Socket Layer)外殼的Http,運(yùn)行于SSL上,SSL運(yùn)行于TCP之上,是添加了加密和認(rèn)證機(jī)制的HTTP。二者之間存在如下不同:
端口不同:Http與Http使用不同的連接方式,用的端口也不一樣,前者是80,后者是443;
資源消耗:和HTTP通信相比,Https通信會(huì)由于加減密處理消耗更多的CPU和內(nèi)存資源;
開銷:Https通信需要證書,而證書一般需要向認(rèn)證機(jī)構(gòu)購(gòu)買;
Https的加密機(jī)制是一種共享密鑰加密和公開密鑰加密并用的混合加密機(jī)制。
HTTP1.0,HTTP1.1以及HTTP2.0協(xié)議的區(qū)別:
答:主要區(qū)別和特點(diǎn)可以概括如下:
HTTP1.0:
HTTP1.0是一種無(wú)狀態(tài),無(wú)連接的協(xié)議。瀏覽器的每次請(qǐng)求都需要與服務(wù)器建立一個(gè)TCP連接,服務(wù)器處理完成后立即斷開TCP連接(無(wú)連接),服務(wù)器不跟蹤每個(gè)客戶端也不記錄過(guò)去的請(qǐng)求(無(wú)狀態(tài))。也就是默認(rèn)使用Connection: close
HTTP1.1:
HTTP/1.1中默認(rèn)使用Connection: keep-alive,避免了連接建立和釋放的開銷。但服務(wù)器必須按照客戶端請(qǐng)求的先后順序依次回送相應(yīng)的結(jié)果,以保證客戶端能夠區(qū)分出每次請(qǐng)求的響應(yīng)內(nèi)容。通過(guò)Content-Length字段來(lái)判斷當(dāng)前請(qǐng)求的數(shù)據(jù)是否已經(jīng)全部接收。不允許同時(shí)存在兩個(gè)并行的響應(yīng)。
HTTP2.0:
HTTP2.0協(xié)議新增了二進(jìn)制分幀,多路復(fù)用,頭部壓縮和服務(wù)器推送等功能,進(jìn)一步提高了傳輸效率。
Cookie+Session
HTTP協(xié)議是一種無(wú)狀態(tài)的協(xié)議,我們可以使用cookie和session來(lái)保持會(huì)話狀態(tài)。用戶發(fā)起請(qǐng)求,服務(wù)端收到請(qǐng)求處理后可以生成一個(gè)sessionId,并且將sessionId存入cookie中返回給客戶端,將session的內(nèi)容存儲(chǔ)在服務(wù)器上。在下一次的請(qǐng)求中,客戶端帶著cookie來(lái)請(qǐng)求服務(wù)器,服務(wù)端從cookie中取出sessionId,實(shí)現(xiàn)了用戶會(huì)話狀態(tài)的保持。
這樣做有一個(gè)缺點(diǎn)就是將一些東西存在了服務(wù)器上,在用戶量較大的情況下,服務(wù)器容量會(huì)不足。實(shí)際情況中,經(jīng)常是將所需要的會(huì)話狀態(tài),比如說(shuō)登錄態(tài)直接存入cookie并且返回給客戶端,下次請(qǐng)求時(shí),服務(wù)端直接取出cookie中的信息和參數(shù)信息進(jìn)行比較,保持HTTP會(huì)話狀態(tài)。
總結(jié):session保存在服務(wù)端。cookie保存在客戶端,并且cookie有大小限制。
Session 與 Cookie 的對(duì)比
實(shí)現(xiàn)機(jī)制:Session的實(shí)現(xiàn)常常依賴于Cookie機(jī)制,通過(guò)Cookie機(jī)制回傳SessionID;
大小限制:Cookie有大小限制并且瀏覽器對(duì)每個(gè)站點(diǎn)也有cookie的個(gè)數(shù)限制,Session沒有大小限制,理論上只與服務(wù)器的內(nèi)存大小有關(guān);
安全性:Cookie存在安全隱患,通過(guò)攔截或本地文件找得到cookie后可以進(jìn)行攻擊,而Session由于保存在服務(wù)器端,相對(duì)更加安全;
服務(wù)器資源消耗:Session是保存在服務(wù)器端上會(huì)存在一段時(shí)間才會(huì)消失,如果session過(guò)多會(huì)增加服務(wù)器的壓力。