什么是cookies
大家都知道,浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服
务器只是简单的进行响应,然后就关闭与该用户的连接。因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这
样的不好之处可想而知。为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,因此人们昵称为“小甜饼”。
cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape
Navigator使用一个名为cookies.txt本地文件保存从所有站点接收的Cookie信息;而IE浏览器把Cookie信息保存在类似于
C:windowscookies的目录下。当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。(不同的系统在不同的目录下)
if(ifSave==1){
//Cookie中要保存的信息
Cookie userNameCookie=new Cookie("userName",userName);
Cookie userPassCookie=new Cookie("userPass",userPass);
//生命周期
userNameCookie.setMaxAge(60 * 60 * 24 * 30);//保存30天
userPassCookie.setMaxAge(60 * 60 * 24 * 30);//保存30天
response.addCookie(userNameCookie);
response.addCookie(userPassCookie);
}else{
//查询
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
Cookie c = cookies[i];
System.out.println(c.getName()+"="+c.getValue());
c.setMaxAge(0);//设置生命周期为0
response.addCookie(c);//再写入才能去掉原来的Cookie值
}
}
}
在JSP中,程序是通过cookie.setXXX设置各种属性,用cookie.getXXX读出cookie的属性,现在把Cookie的主要属性,及其方法列于下,供大家参考:
类型 |
方法名 |
方法解释 |
String |
getComment() |
返回cookie中注释,如果没有注释的话将返回空值. |
String |
getDomain() |
返回cookie中Cookie适用的域名. 使用getDomain() 方法可以指示浏览器把Cookie返回给同 一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始(例如.yesky.com) |
int |
getMaxAge() |
返回Cookie过期之前的最大时间,以秒计算。 |
String |
getName() |
返回Cookie的名字。名字和值是我们始终关心的两个部分,笔者会在后面详细介绍 getName/setName。 |
String |
getPath() |
返回Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下 的所有页面。 |
boolean |
getSecure() |
如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。 |
String |
getValue() |
返回Cookie的值。笔者也将在后面详细介绍getValue/setValue。 |
int |
getVersion() |
返回Cookie所遵从的协议版本。 |
void |
setComment(String purpose) |
设置cookie中注释。 |
void |
setDomain(String pattern) |
设置cookie中Cookie适用的域名 |
void |
setMaxAge(int expiry) |
以秒计算,设置Cookie过期时间。 |
void |
setPath(String uri) |
指定Cookie适用的路径。 |
void |
setSecure(boolean flag) |
指出浏览器使用的安全协议,例如HTTPS或SSL。 |
void |
setValue(String newValue) |
cookie创建后设置一个新的值。 |
void |
setVersion(int v) |
设置Cookie所遵从的协议版本。 |
分享到:
相关推荐
总结,"sso-use-cookie"项目通过SpringBoot和Cookie实现了单点登录功能,适合有一定Spring基础的学习者了解SSO的基本原理和实践。通过深入学习和理解这个项目,开发者能够掌握如何在实际项目中应用SSO,提升系统的...
标题“通过改变浏览器的Cookie切换登录用户”涉及到了一个常见的技术实践,即利用Cookie来管理用户的登录状态。描述指出,这种做法允许用户无需重新输入账号密码验证码即可切换登录用户。这种功能在多账户管理或者...
@ devhammed / use-cookie 使用React Hooks获取,设置,更新和删除Cookie。 安装 npm install --save @devhammed/use-cookie 用法 import React from 'react' import ReactDOM from 'react-dom' import useCookie ...
本文将详细讲解如何在Axios中配置Cookie跨域以及相关的后端设置。 首先,我们要明确一点:默认情况下,Axios在发起跨域请求时并不会携带Cookie。这是因为浏览器的安全策略限制,为了防止跨站脚本攻击(Cross-Site ...
app.use(cookie()); // 使用示例 app.use(async ctx => { const cookies = new ctx.cookies; // 获取cookie实例 const value = cookies.get('myCookie'); // 读取cookie if (value) { ctx.body = `Cookie value...
@fcannizzaro/react-use-cookie-watcher React钩子以观看浏览器 cookie安装yarn add @fcannizzaro/react-use-cookie-watcher用法 import React , { Component } from 'react'import { useCookieWatcher , useCookie ...
Vue.use(VueCookie);` 2. **设置Cookie**:在Vue组件内,你可以使用`this.$cookie.set('cookieName', 'cookieValue', { expires: 7 });`来设置一个名为'cookieName',值为'cookieValue'的cookie,其中expires参数...
app.use(session({ secret: 'your-secret-key', // 用于签名的密钥 resave: false, saveUninitialized: false, cookie: { secure: true } // 只在HTTPS下发送 })); app.post('/login', (req, res) => { // ...
app.use((req, res, next) => { // 设置cookie,其中key为cookie的名称,value为cookie的值 res.cookie('myCookie', 'myValue', { httpOnly: true, // 启用HttpOnly secure: process.env.NODE_ENV === '...
use Rack::Session::Cookie use OmniAuth::Builder do provider :github, 'b478ae6b31dd730b20d1','89f67d361fb348c959eaafea7e40f6db8b166366' end get '/' do <<-HTML <a href='/auth/github'>Sign in ...
use ( cookie ( ) ) ;app . use ( async function ( ctx , next ) { const cookies = ctx . cookie ; /* if cookies sent are of the form: 'name=abc; age=20; token = xyz;' Then ctx.cookie is an object of the...
app.use(cookieParser()); ``` 一旦设置了中间件,你就可以在路由处理器中设置和读取Cookie了。以下是如何设置一个Cookie的例子: ```javascript app.get('/set-cookie', (req, res) => { res.cookie('myCookie',...
npm install react-use-cookie 或者 yarn add react-use-cookie 用法 useCookie import useCookie from 'react-use-cookie' ; export default props => { const [ userToken , setUserToken ] = useCookie ( '...
在IT行业中,尤其是在Web开发领域,Cookie和Session是两种非常重要的技术,用于管理用户状态和保持用户会话。本文将详细探讨Cookie与Session的工作原理、优缺点以及它们在Node.js环境中的应用。 **Cookie** Cookie...
app.use(cookieParser()); app.get('/', function(req, res) { var sessionID = 'uniqueSessionId'; res.cookie('sessionID', sessionID); // 返回响应 }); ``` 读取 Cookie: ```javascript var sessionID = ...
import和.use()将自动添加到main.js中 vue add cookie 用法示例 获取一个cookie this . $cookie . get ( 'jwt_token' ) 设置一个cookie this . $cookie . set ( 'jwt_token' , 'cookie_data' ) this . $cookie . ...
socket.io-cookie 用于socket.io的Cookie解析器中间件 例子 var cookieParser = require ( 'socket.io-cookie' ) ; var server = require ( 'http' ) . Server ( ) ; var io = require ( 'socket.io' ) ( server )...
app.use(cookieParser()); ``` 现在我们已经准备好了处理Cookie的基础。接下来,我们要实现记录浏览过的城市名称功能。假设每次用户访问一个城市页面,我们都会在Cookie中添加一个城市名称。我们可以创建一个路由来...
useCookie-React钩基于React Hook for Cookies安装方式npm install @use-hook/use-cookie --save用法import { useCookie } from "@use-hook/use-cookie" ;function App ( ) { const [ name , setName ] = useCookie ...
在Koa应用程序中设置和清除Cookie。 安装 npm i koa-cookies 用法 // set up your koa server, koa-router, etc. const { clearCookie , setCookie } = require ( 'koa-cookies' ) app . get ( '/foo' , async ( ...