728x90
반응형

세션은 메모리에 저장된다. 즉 서버를 끄면 사라짐 -> 휘발

그래서 session-file-store 와 같이 사용. session 디렉토리에 데이터를 저장

express-session의 옵션

  • secret : 비밀키
  • secure : https 에서만 세션정보 확인 가능
  • resave
  • saveUninitialized : 세션이 필요할때 세션을 구동시킬지 true, 언제든 세션을 구동시킬지 false 여부
  • 세션을 없애고 싶다면 request.session.destroy
  • 세션 데이터 저장이 끝나야만 다음 작업을 수행하기 위해서는 request.session.save() 콜백함수 사용해야함
    • 그렇지 않으면 가져온 데이터가 세션에 저장되는것이 끝나기 전에 새 페이지로 가서 세션에 저장되지 않은것처럼 보일 수 있음 
app.use(session({           // 사용자가 페이지를 부를때마다(요청이 있을때마다) 세션이 사용됨
  secret: 'keyboard cat',
  secure: true,
  resave: false,
  saveUninitialized: true
}))

 

728x90
반응형
728x90
반응형

npm install cookie : cookie객체를 쉽게 파싱할 수 있음

var http = require('http');
var cookie = require('cookie');

http.createServer(function(request, response) {
  var cookies = {};
  if(request.headers.cookie !== undefined) {
    var cookies = cookie.parse(request.headers.cookie);
  }
  console.log(cookies.yummy_cookie);
  response.writeHead(200, {
    'Set-Cookie':[
      'yummy_cookie=choco; Domain=naver.com',
      'tasty_cookie=strawberry; Secure; Path=/page'
      `myname=sowon; Max-Age=${60*60*24*30}` // cookie의 기한 설정 첫번째 방법
      `myage=sowon; Expires=Wed, 21 Oct 2022 08:00:00` // cookie의 기한 설정 두번째 방법
    ]
  });
  response.end('Cookie!!');

}).listen(3000);

Set_Cookie 를 writeHead 로 보낸다

기한을 설정하면 Permanent 쿠키

  • https 에만 쿠키를 설정하고 싶다면 뒤에 Secure 추가
    • http로 하면 쿠키값을 탈취하여 바꿀수 있기 때문에 보안성을 위해서
    • Secure;
  • HttpOnly : 자바스크립트로 접근하지 못하는 쿠키HttpOnly 
  • 특정한 path, 도메인(서브도메인 포함) 에서만 쿠키가 나오도록 하는 옵션 
    • Path=/page
    • Domain=naver.com
  • 기한 설정 방법
    • Max-Age
    • Expires

설정하지 않으면 Session 쿠키로 쓰임

728x90
반응형
728x90
반응형

데이터를 post 할 때 데이터 양이 많으면 부하가 크기 때문에 이를 압축해서 보내는 미들웨어 사용

설치 : npm install compression --save

아래 코드를 코드 상단에 삽입하면 데이터가 전송될 때 압축되어 보내지고, 브라우저에게 압축을 풀어서 사용하라는 신호를 보내어 브라우저는 이를 확인하여 압축을 풀어서 데이터를 확인함!

효과 : 약 30kb 데이터 -> 약 5kb

app.use(compression());
728x90
반응형

'IT > Node.js' 카테고리의 다른 글

Node.js cookie  (0) 2022.10.17
Node.js express 미들웨어 body-parser 설치 및 사용하기  (0) 2022.10.13
Node.js express 기본 메소드 get, listen  (0) 2022.10.13
728x90
반응형

설치 : npm install body-parser --save

코드 상단에 아래 코드를 추가하면

express의 post 메소드의 바디 프로퍼티를 request.body 로 간결하게 사용할 수 있도록 한다.

 

app.use(bodyParser.urlencoded({ extended: false }));
 
728x90
반응형
728x90
반응형
const express = require('express');
const app = express();
app.get('/', function (req,res) {
  return res.send('/');
});

get : 첫번째 인자인 path 를 통해서 routing하는 메소드

path 에 임의값으로 routiong도 가능하다.

아래와 같은 경우 :pageId가 request.params 로 온다. (심볼릭 링크 구현에 용이)

app.get('/page/:pageId', function (request,response) {
  return response.send(request.params);
});
예시
 

listen : 첫번째 인자인 port에 리스닝 하게되고 리스닝이 성공하면 callback하는 메소드

app.listen(3000, function() {
  console.log('Example app listening or port 3000!')
});

 

728x90
반응형

'IT > Node.js' 카테고리의 다른 글

Node.js express 미들웨어 body-parser 설치 및 사용하기  (0) 2022.10.13
Node.js 프로세스 매니저 pm2  (0) 2022.10.13
Node.js SQL Injection 예방  (0) 2022.10.10
728x90
반응형

프로세스를 관리하는 패키지인 pm2

  • 설치
    • npm install pm2 -g 
      • global로 이컴퓨터 어디서든 사용할 수 있도록 하는 것
  • 배포 시작
    • pm2 start main.js --watch
      • --watch : 코드에 변경이 생기면 바로 배포함
  • 배포 중지
    • pm2 stop main js 
  • 배포 확인
    • pm2 monit
      • 어떤 프로그램을 구동중인지 확인 가능
  • 실시간 로그 확인
    • pm2 log
728x90
반응형

+ 최근 게시글