2014-07-19 2 views
0
내가 express.cookieParserexpress.session 사용 this short tutorial on sessions in Express을 통해 갈거야

:이해 익스프레스 세션

Sessions are accessible through the request object in each route. You can get and set 
properties just like you would when handling an object normally. For example, lets set 
some session data in the awesome route. 

app.get('/awesome', function(req, res) { 
    req.session.lastPage = '/awesome'; 
    res.send('Your Awesome.'); 
}); 

두 질문 :

  1. 세션이에 언급 된

    app.use(express.cookieParser()); 
    app.use(express.session({secret: '1234567890QWERTY'})); 
    

    이 구절이있다을 req.sesssion은 클라이언트로 전송 된 쿠키로, 노드/익스프레스에 의해 생성 된 sessionID이고 이제 get 요청과 함께 다시 전송됩니다. 이 올바른지?

  2. 그런 다음 res에서이 session 개체는 자동으로 res에 첨부 된 다음 클라이언트 쿠키를 업데이트하여 다시 전송됩니까?

답변

2

세션을 사용하는 경우. 브라우저에는 세션 ID 만 쿠키에 포함됩니다. req.session 변수에 넣은 내용은 서버 측 (또는 익스프레스를 구성하기 위해 익스프레스를 구성한 곳)에 저장됩니다.

브라우저의 쿠키에서 설정된 세션 ID는 해당 브라우저에로드 할 세션 정보를 식별하기위한 서버의 키 역할을합니다.

1

정확하게는 아닙니다. 쿠키는 구성 할 때 입력하는 비밀 문자열로 서명 된 임의의 값입니다. 세션 개체의 실제 내용 (예 : {lastPage : '/ awesome'})은 세션 저장소에 저장되며, 사용자는 Express 구성의 어딘가에서 구성해야합니다. 대부분의 데모 응용 프로그램은 기본 MemoryStore를 사용하여 사라질 수 있지만 프로덕션 응용 프로그램은 항상 RedisStore, MongoStore 등과 같은 비 휘발성 저장소를 사용합니다.

관련 문제