中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站怎么做最省錢百度資源搜索

網(wǎng)站怎么做最省錢,百度資源搜索,游戲源碼網(wǎng)站免費,網(wǎng)站建設(shè)崗位要求一.Cookie和Session Cookie和Session都是用于在Web應(yīng)用中跟蹤用戶狀態(tài)的技術(shù)。Cookie是存儲在用戶瀏覽器中的小文本文件,由服務(wù)器發(fā)送給瀏覽器。當(dāng)用戶再次訪問同一網(wǎng)站時,瀏覽器會把Cookie信息發(fā)送回服務(wù)器。例如,網(wǎng)站可以利用Cookie記住用…

在這里插入圖片描述

一.Cookie和Session

Cookie和Session都是用于在Web應(yīng)用中跟蹤用戶狀態(tài)的技術(shù)。Cookie是存儲在用戶瀏覽器中的小文本文件,由服務(wù)器發(fā)送給瀏覽器。當(dāng)用戶再次訪問同一網(wǎng)站時,瀏覽器會把Cookie信息發(fā)送回服務(wù)器。例如,網(wǎng)站可以利用Cookie記住用戶的登錄狀態(tài)、語言偏好等信息。Cookie有一定的有效期,可以設(shè)置過期時間。Session是存儲在服務(wù)器端的數(shù)據(jù)結(jié)構(gòu),用于跟蹤用戶的會話狀態(tài)。服務(wù)器為每個用戶(通常是通過用戶的首次請求)創(chuàng)建一個Session,會給用戶分配一個唯一的標識符(Session ID),這個ID一般通過Cookie或URL參數(shù)等方式傳遞給瀏覽器。當(dāng)用戶在網(wǎng)站的不同頁面之間跳轉(zhuǎn)時,瀏覽器會發(fā)送Session ID,服務(wù)器根據(jù)這個ID來識別用戶并獲取對應(yīng)的會話數(shù)據(jù),如購物車中的商品信息等。

二.Cookie和Session的聯(lián)系與區(qū)別

1.cookie是什么

在瀏覽器訪問服務(wù)器之前,此時你的瀏覽器對于這個服務(wù)器是一無所知的,你的瀏覽器上是沒有任何和這個服務(wù)器相關(guān)的數(shù)據(jù)的。在網(wǎng)頁開發(fā)中用戶獲取數(shù)據(jù)和服務(wù)器發(fā)送數(shù)據(jù)會產(chǎn)生很多“臨時性”的數(shù)據(jù)。臨時性的數(shù)據(jù)有的可以放在服務(wù)器這邊存儲,有的可以放在瀏覽器上,用戶下次用可以直接獲取到。
比如嗶哩嗶哩中倍速播放,藍光模式這種數(shù)據(jù)就是臨時數(shù)據(jù),用戶下次再點開還是倍速藍光。
在這里插入圖片描述

瀏覽器要保存數(shù)據(jù)為什么要放在cookie上,直接放硬盤上不行嗎?
答案:不行,如果讓網(wǎng)頁能輕易的訪問你的系統(tǒng)文件是非常危險的有可能會中病毒讓電腦奔潰或者數(shù)據(jù)刪掉。為了保證安全瀏覽器會對網(wǎng)頁的功能做出限制,禁止訪問硬盤。為了能保證安全又能存儲數(shù)據(jù),瀏覽器就提供了cookie功能。

cookie是按照鍵值對的方式存儲一些字符串。這些鍵值對往往是服務(wù)器返回來的。瀏覽器把這些鍵值對按照域名進行分類存儲,不同的網(wǎng)站cookie是獨立的。這些cookie的內(nèi)容是程序員自己定義的。

在這里插入圖片描述

一個網(wǎng)站中cookie中會存儲很多鍵值對,往往會有一個很重要的鍵值對,用來統(tǒng)計用戶的信息。為了實現(xiàn)身份識別的效果,不僅僅需要cookie來支持,在服務(wù)器這邊也需要session來支持。

2.舉例

假設(shè)你是第一次來醫(yī)院看病,首次掛號的時候,醫(yī)院會讓你辦一張就診卡。同時在醫(yī)院的系統(tǒng)里面會給你創(chuàng)建一份電子的檔案。當(dāng)你排了半天隊,見到醫(yī)生,醫(yī)生讓你刷你的就診卡,你一刷卡你的各種信息就顯示在醫(yī)生的電腦上了。(就診卡里面存了你的身份標識,存了一串字符串,就像電話號碼一樣),電子檔案可以想象成哈希表,key是你的身份標識,value是你的電子檔案詳情。刷卡的時候讀卡器讀到我的身份標識就可以知道我的電子檔案的詳情了。然后醫(yī)生讓你去抽血,做B超,尿檢。到了抽血科,醫(yī)生也是讓先刷卡,刷卡后知道你的病就知道要抽多少血哪里的血。來到B超科后同樣先刷卡拿到你的信息,就知道怎么檢查。檢查完畢后醫(yī)生還得刷卡拿信息取藥。當(dāng)你下一次來的時候醫(yī)生可以直接系統(tǒng)里面拿到你的信息和之前的取藥結(jié)果。

首次訪問網(wǎng)站登錄成功后相當(dāng)于網(wǎng)站給你一個就診卡(身份標識,身份標識也叫sessionid),身份標識就通過服務(wù)器返回給瀏覽器的響應(yīng),保存在瀏覽器的cookie中了。與此同時人家網(wǎng)站服務(wù)器這邊也會創(chuàng)建出一個對應(yīng)的session(電子檔案),session中會記錄你的信息。網(wǎng)站服務(wù)器有很多個用戶,每個用戶都有自己的session,他們的sessionid各不相同,服務(wù)器會使用類似于HASH表這樣的方式,以sessionid為key,以session為value,把所有數(shù)據(jù)組織起來。后續(xù)訪問網(wǎng)站的其他頁面(相當(dāng)于到各個科室做檢查),都會在請求的cookie字段中,帶上剛才這里的sessionid(也就是做檢查先刷卡,判斷你的信息),服務(wù)器就知道你當(dāng)前的用戶信息了。

我們通過抓包可以看到cookie里面的主要內(nèi)容:
在這里插入圖片描述
是以鍵值對的方式去存儲的。鍵值對之間使用;分割,鍵和值使用=分割。在cookie中其中一個鍵值對是表示身份標識的。

3.Session

session存在的意義也是為了讓用戶能夠保存一些自定義數(shù)據(jù),此時的session更像是一個Map<String,Object>。session在一個服務(wù)器上可以存在很多份,每個用戶都應(yīng)該有一個自己的session,應(yīng)該服務(wù)器有多個用戶,服務(wù)器就會用map的方式組織session.
在這里插入圖片描述

4.總結(jié)

Cookie 是瀏覽器在本地持久化存儲數(shù)據(jù)的一種機制。
1.Cookie的數(shù)據(jù)從哪里來?服務(wù)器返回給瀏覽器的。
2.Cookie的數(shù)據(jù)長啥樣?Cookie 中是鍵值對結(jié)構(gòu)的數(shù)據(jù).并且這里的鍵值對都是程序員自定義的。
3.Cookie有什么作用?Cookie 就可以在瀏覽器這邊存儲一些“臨時性的數(shù)據(jù)”,其中最典型的一種使用方式,就是用來存儲“身份標識”。
4.Cookie到哪里去?Cookie的內(nèi)容會在下次訪問該網(wǎng)站的時候,自動的被帶到HTTP請求中。
5.Cookie怎么存的?瀏覽器按照不同的“域名”分別存儲Cookie,域名和域名之間的Cookie是不能干擾的Cookie 存儲在硬盤上的。Cookie存儲往往會有一個超時時間。

Cookie的超時時間也叫過期時間,是指瀏覽器存儲Cookie的有效時長。當(dāng)服務(wù)器發(fā)送一個Cookie給瀏覽器時,會設(shè)置這個Cookie的相關(guān)屬性,其中就包括過期時間。如果沒有設(shè)置超時時間,Cookie就會成為會話Cookie,它會在瀏覽器會話期間(即瀏覽器打開到關(guān)閉的時間段)一直存在,一旦瀏覽器關(guān)閉,會話Cookie就會被刪除。 要是設(shè)置了具體的超時時間,瀏覽器會根據(jù)這個時間來存儲Cookie。例如,設(shè)置超時時間為1小時,那么從Cookie被設(shè)置開始計算,1個小時后,瀏覽器會自動刪除這個Cookie,之后對相應(yīng)網(wǎng)站的請求就不會再帶上這個已經(jīng)過期的Cookie。這樣的機制可以控制用戶數(shù)據(jù)在客戶端存儲的周期,用于實現(xiàn)如用戶登錄狀態(tài)保持一定時間等功能。
在這里插入圖片描述

在這里插入圖片描述

二.核心方法

HttpServletRequest 類中的相關(guān)方法
在這里插入圖片描述

HttpServletResponse類中的相關(guān)方法
在這里插入圖片描述
HttpSession 類中的相關(guān)方法
一個 HttpSession 對象里面包含多個鍵值對. 我們可以往 HttpSession 中存任何我們需要的信息。
在這里插入圖片描述
Cookie 類中的相關(guān)方法
在這里插入圖片描述

HTTP 的 Cooke 字段中存儲的實際上是多組鍵值對. 每個鍵值對在 Servlet 中都對應(yīng)了一個 Cookie
對象。
通過 HttpServletRequest.getCookies() 獲取到請求中的一系列 Cookie 鍵值對。
通過 HttpServletResponse.addCookie() 可以向響應(yīng)中添加新的 Cookie 鍵值對。

1.獲取cookie

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
class User{public String username;public int age;
}
@WebServlet("/hello1")
public class HelloSevert extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {Cookie cookie = new Cookie("date","2024-10-24");resp.addCookie(cookie);Cookie cookie1 = new Cookie("date1","2024-10-25");resp.addCookie(cookie1);resp.getWriter().write("ok");}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {Cookie[] cookies = req.getCookies();for(Cookie x:cookies){System.out.println(x.getName()+":"+x.getValue());}}
}

在這里插入圖片描述
通過抓包繼續(xù)觀察
在這里插入圖片描述

2.獲取session

代碼示例: 實現(xiàn)用戶登陸
實現(xiàn)簡單的用戶登陸邏輯
這個代碼中主要是通過 HttpSession 類完成. 并不需要我們手動操作 Cookie 對象。

import com.fasterxml.jackson.databind.ObjectMapper;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.util.Enumeration;
class User{public String username;public int age;
}
@WebServlet("/hello1")
public class HelloSevert extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String user = req.getParameter("username");String password = req.getParameter("password");if(user==null||password==null||user.equals("")||password.equals("")){resp.setContentType("text/html,charset=utf8");resp.getWriter().write("用戶名錯誤");return;}if(user.equals("aaa")&&password.equals("123")){HttpSession session = req.getSession(true);session.setAttribute("username",user);session.setAttribute("time",System.currentTimeMillis());}}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {HttpSession session = req.getSession();if(session==null){return;}String user = (String)session.getAttribute("username");System.out.println("user:"+user);}
}

在這里插入圖片描述
在這里插入圖片描述

HttpSession session = req.getSession(true);參數(shù)為true不存在會話就創(chuàng)建,存在會話就直接查詢。參數(shù)為false不存在就返回null,存在就直接查詢。
getSession 背后做的事情:
1.先讀取請求中的Cookie,看Cookie 里是否有JSESSIONID屬性,以及值是啥。如果沒有,就認為需要創(chuàng)建新會話。如果有,就拿著這個id去查詢看看當(dāng)前的session 是否存在,要是 session存在,就直接返回該 session,要是session不存在,就準備創(chuàng)建新會話。
2.當(dāng)前確實需要創(chuàng)建會話,就會創(chuàng)建出一個Session 對象,同時生成一個唯一的JSESSIONID。
以JSESSIONID為key,Session對象為value,把這個鍵值對給插入到服務(wù)器 上述的哈希表
3.剛才生成的JSESSIONID又會通過addCookie方法,加入到響應(yīng)中。此時響應(yīng)里就會帶有Set-Cookie字段,這里的值就是JSESSION=xxxxxxxxx通過響應(yīng),就把JSESSIONID返回到瀏覽器這邊了。

http://www.risenshineclean.com/news/28685.html

相關(guān)文章:

  • 推廣網(wǎng)站seo廈門推廣平臺較好的
  • 建筑設(shè)計網(wǎng)站網(wǎng)址外鏈火
  • 景安網(wǎng)站備案的服務(wù)碼百度網(wǎng)絡(luò)營銷app
  • 注冊城鄉(xiāng)規(guī)劃師難度優(yōu)化網(wǎng)站打開速度
  • asp.net 網(wǎng)站管理工具 安全營銷軟件
  • 安徽網(wǎng)站開發(fā)費用做谷歌推廣比較好的公司
  • wordpress建的網(wǎng)站打開太慢優(yōu)化大師win10能用嗎
  • 域名怎么和網(wǎng)站綁定深圳網(wǎng)站快速排名優(yōu)化
  • 動態(tài)網(wǎng)站開發(fā)在線測試第5章策劃方案
  • 城建設(shè)投資公司網(wǎng)站最近國內(nèi)新聞
  • 導(dǎo)航網(wǎng)站 php煙臺網(wǎng)絡(luò)推廣
  • 做跨境網(wǎng)站注意事項小白如何學(xué)電商運營
  • 武漢網(wǎng)站設(shè)計制作公司哪家好搜索引擎優(yōu)化時營銷關(guān)鍵詞
  • 神碼ai智能寫作網(wǎng)站百度怎么發(fā)帖做推廣
  • 什么樣的網(wǎng)站需要icp經(jīng)營性備案產(chǎn)品市場營銷策劃書
  • 自己做網(wǎng)站需要買什么手機怎么建自己的網(wǎng)站
  • 企業(yè)網(wǎng)站建設(shè)定制南寧求介紹seo軟件
  • 做網(wǎng)站關(guān)鍵詞網(wǎng)絡(luò)營銷的效果是什么
  • 做網(wǎng)站的注意什么國內(nèi)最新消息新聞
  • 蚌埠哪里做網(wǎng)站站長權(quán)重
  • 南寧中小企業(yè)網(wǎng)站制作許昌seo公司
  • 管理網(wǎng)站開發(fā)教程semseo是什么意思
  • 百度網(wǎng)頁版在線使用網(wǎng)站整站優(yōu)化公司
  • 淘寶客怎么建網(wǎng)站網(wǎng)站后臺管理系統(tǒng)
  • 廣西城鄉(xiāng)和住房建設(shè)廳網(wǎng)站黃頁推廣
  • 網(wǎng)站主機和空間360搜索引擎地址
  • 洛陽網(wǎng)站建設(shè)首選洛陽銘信科技佛山seo按效果付費
  • 用帝國cms做網(wǎng)站2022年新聞?wù)畻l
  • 加工鋼球網(wǎng)架公司西安seo教程
  • wordpress站點logo設(shè)置河北疫情最新情況