본문 바로가기

Node.js24

javascript 런타임 node.js과 nvm JavaScript 런타임(runtime) 런타임이란 개념이 처음엔 어렵게 느껴질 수 있으나 쉽게말하면 프로그래밍언어가 구동되는 환경. 어떤 프로그램이 동작할 때, 프로그램이 동작하는 곳을 런타임 이라고 부른다. javascript의 런타임은 대표적으로 크롬, 사파리 같은 웹 브라우저인데, 오늘 살펴볼 node.js역시 javascript의 대표적인 런타임이라고 할 수 있겠다. node.js에서 jacascript를 실행하기위해선, node.js를 설치해야하는데, nvm(Node Version Manager) 을 사용하면 node.js의 다양한 버젼을 쉽게 설치하고 사용할 수 있다. nvm(Node Version Manager) nvm 설치 터미널에 다음 명령어 입력 wget -qO- https://ra.. 2021. 12. 22.
Node.js Express Session 과 Session store Session 쿠키가 등장하면서 요청, 응답이라는 단순한 의사소통만이 가능했던 웹이 이전에 통신했던 내용을 기억할수 있게되었다. 덕분에 개인화, 인증과 같은 중요한 발판이 마련되었지만 쿠키를 통해서 직접 인증을 구현하는것은 매우 위험한일이다 쿠키가 유출될수도, 조작될수도 있기때문이다 하여 쿠키로는 사용자를 식별하는 용도로만 사용하고 실제 데이터는 Session을 통해 서버쪽 파일이나 데이터베이스의 형태로 안전하게 구현하여 사용한다. express session 설치 express session 예제 express-session이라는 미들웨어를 모듈로서 설치하고 app.use를 통해 사용자 요청이 있을때마다 session 이라는 함수를 실행시킨다. 그럼 express-session 미들웨어가 내부적으로 개.. 2021. 6. 6.
Node.js path쿠키 path 웹브라우져에서 웹서버로 쿠키를 전송할때 특정 디렉토리와 그 디렉토리 아래에서만 전송되어질 수 있도록 하고싶을때 사용한다. 어느 path에서 동작할것인가를 제한하는 것 /cookie 디렉토리에서만 동작시키고자하는 쿠키값에 Path옵션을 적용해주면 'Path = Path; Path = /cookie' /cookie URL 에서는 다음과 같이 Path쿠키가 작동이 되고 / URL에서는 ( /cookie 디렉토리가 아닌 경우) Path옵션을 준 쿠키값이 보이지않게된다. 2021. 6. 3.
Node.js Secure 쿠키와 HttpOnly 쿠키 Secure 웹브라우저, 웹서버가 HTTPS를 통해서 통신하는 경우에만 쿠키를 전송한다. 코드예제 쿠키의 이름과 값, 세미콜론(;) 뒤에 Secure 옵션을 붙여주고 http를 쓰고있는 서버를 작동해보면 Response Cookie엔 Secure쿠키가 뜨지만 Request Cookie엔 뜨지않는 것을 볼 수 있다. https를 쓰는 경우에만 웹브라우저가 웹서버한테 전송하게되어있기때문이다. Secure cookie를 쓰는 이유 http를 쓰는 서버에서는 session값을 중간에서 스틸하는 일 즉 보안상 문제가 발생하기쉽기때문에 Secure를 통해서 조금 더 안전하게 사용하기위함이다. HttpOnly 웹브라우저와 웹서버가 통신할때에만 쿠키를 발행함 코드예제 HttpOnly 쿠키를 추가해주고 실행시켜준뒤 //.. 2021. 6. 3.
Node.js Session 쿠키와 Permanent 쿠키 Session cookie와 Permanent cookie 쿠키의 사용기한을 설정하는 법에 대해 알아보자 Session쿠키는 웹브라우저가 켜져있는 동안에만 유효하고 Permanent 쿠키는 웹브라우저를 껐다켜도 살아있다는 차이점이 있다. Session cookie는 다음과 같이 Set-cookie 안에 기본적으로 키, 값을 넣어주면되고 Permanent cookie는 키와 값 다음으로 세미콜론(;)을 더해주고 Expires 또는 Max-Age 옵션을 더해주면 된다. Expires = 절대적으로 쿠키가 언제 만료되는가 Max-Age = 현재 시점으로부터 어느정도의 기간동안 쿠키가 살아있을것인가 를 뜻하는 것으로 둘중 아무거나 사용해도 무방하다 Max-Age 는 초(s)로 시간을 설정한다. 다음과 같이 Se.. 2021. 6. 1.
Node.js cookie 쿠키 생성하고 읽기 cookie 웹브라우저와 웹서버가 서로 주고받는 정보인 http protocol에 포함되어있는 기술 쿠키의 핵심 용도3가지 1. 세션 관리(Session management) 서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보 관리 2. 개인화(Personalization) 사용자 선호, 테마 등의 세팅 3. 트래킹(Tracking) 사용자 행동을 기록하고 분석하는 용도 쿠키 생성방법 set-cookie라고하는 이름의 헤더값을 응답하는 http메세지에 다음과같이 넣어준다 Set-Cookie: = 적용예시 var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, { 'Set.. 2021. 6. 1.