Koa.js-쿠키
쿠키는 서버 요청과 함께 클라이언트로 전송되고 클라이언트 측에 저장되는 간단하고 작은 파일 / 데이터입니다. 사용자가 웹 사이트를 다시로드 할 때마다이 쿠키가 요청과 함께 전송됩니다. 이렇게하면 사용자 작업을 추적하는 데 도움이됩니다. HTTP 쿠키에는 수많은 용도가 있습니다.
- 세션 관리
- 개인화 (추천 시스템)
- 사용자 추적
Koa에서 쿠키를 사용하기 위해 다음과 같은 기능이 있습니다. ctx.cookies.set() 과 ctx.cookies.get(). 새 쿠키를 설정하기 위해 Koa 앱에서 새 경로를 정의하겠습니다.
var koa = require('koa');
var router = require('koa-router');
var app = koa();
_.get('/', setACookie);
function *setACookie() {
this.cookies.set('foo', 'bar', {httpOnly: false});
}
var _ = router();
app.use(_.routes());
app.listen(3000);
쿠키가 설정되어 있는지 확인하려면 브라우저로 이동하여 콘솔을 실행하고 다음을 입력하십시오.
console.log(document.cookie);
그러면 다음과 같은 출력이 생성됩니다 (브라우저의 확장으로 인해 더 많은 쿠키가 설정 될 수 있음).
"foo = bar"
다음은 위의 예입니다.
브라우저는 또한 서버에 쿼리 할 때마다 쿠키를 다시 보냅니다. 서버의 쿠키를 보려면 경로의 서버 콘솔에서 해당 경로에 다음 코드를 추가하십시오.
console.log('Cookies: foo = ', this.cookies.get('foo'));
다음에이 경로에 요청을 보내면 다음 출력이 표시됩니다.
Cookies: foo = bar
만료 시간이있는 쿠키 추가
만료되는 쿠키를 추가 할 수 있습니다. 만료되는 쿠키를 추가하려면 'expires'속성이 만료되기를 원하는 시간으로 설정된 객체를 전달하면됩니다. 예를 들면
var koa = require('koa');
var router = require('koa-router');
var app = koa();
_.get('/', setACookie);
function *setACookie(){
//Expires after 360000 ms from the time it is set.
this.cookies.set('name', 'value', {
httpOnly: false, expires: 360000 + Date.now() });
}
var _ = router();
app.use(_.routes());
app.listen(3000);
기존 쿠키 삭제
쿠키 설정을 해제하려면 쿠키를 빈 문자열로 설정하면됩니다. 예를 들어 다음과 같은 쿠키를 삭제해야하는 경우foo, 다음 코드를 사용하십시오.
var koa = require('koa');
var router = require('koa-router');
var app = koa();
_.get('/', setACookie);
function *setACookie(){
//Expires after 360000 ms from the time it is set.
this.cookies.set('name', '');
}
var _ = router();
app.use(_.routes());
app.listen(3000);
이렇게하면 해당 쿠키가 설정 해제됩니다. 당신은 떠나야합니다HttpOnly 클라이언트 측 코드에서 쿠키를 사용하지 않을 때 옵션을 true로 설정합니다.