Node/Express

    Node.js - express (14) Ajax - XMLHttpRequest( )

    이번 포스팅에서는 Ajax에 대해 알아보고 XMLHttpRequest를 이용해서 Ajax를 사용해보고자 한다. Ajax XMLHttpRequest 1. Ajax Ajax는 Asynchronous JavaScript and XML의 약자로 JavaScript와 XML을 이용한 비동기적 정보교환 기법이다. Ajax를 사용해서 통신을 하게 될 경우 URL이 바뀌지 않고도 서버에 요청을 보낼 수 있게 된다. 지금까지의 방식은 URL을 통해 서버에 요청을 보내면 서버쪽에서 해당 요청에 대한 응답을 건내주는 방식이었다. Ajax는 이와는 다르게 브라우저의 JavaScript에 있는 특정 함수를 사용해서 URL 없이도 서버에 요청을 보낼 수 있는 방식이다. URL을 통해 서버에 요청을 보내는 방식에서는 ..

    Node.js - express (13) JWT 로그인 인증

    이번 포스팅에서는 JWT 방식으로 로그인 인증을 구현해 보고자 한다. 자세한 개념과 구현방식은 이전 글에서 정리했으므로 이번에는 코드 위주로 빠르게 훑어 보도록 하자. (이전 글 참고) 2022.03.03 - [Node.js/express] - Node.js - express (12) Buffer , Hash , JWT Node.js - express (12) Buffer , Hash , JWT 이번 포스팅에서는 JWT 방식을 이용해 로그인 인증을 구현할 때 사용되는 Buffer와 Hash, 그리고 JWT의 개념에 대해 짚고 넘어가 보고자 한다. Buffer?? Hash?? JWT 1. Buffer ?? 우리가 사용하는 컴퓨 bitkunst.tistory.com 위에 나와있는 영상은 앞으로 ..

    Node.js - express (12) Buffer , Hash , JWT

    이번 포스팅에서는 JWT 방식을 이용해 로그인 인증을 구현할 때 사용되는 Buffer와 Hash, 그리고 JWT의 개념에 대해 짚고 넘어가 보고자 한다. Buffer?? Hash?? JWT 1. Buffer ?? 우리가 사용하는 컴퓨터는 이진수로 데이터를 저장하고 표현한다. 예를 들어 문자 "A" 라는 값을 표현할 때 A 그대로를 표현하는 것이 아닌 이진수 형태로 A를 표현하게 되는 것이다. 이진수에서 1 혹은 0으로 되어있는 자리를 bit(비트)라고 하는데 1byte=8bit를 의미하고 8bit로는 256가지(2^8=256)의 데이터를 표현하는 것이 가능하다. 1nibble(니블)=4bit를 의미하고 있기 때문에 1 byte = 8 bit = 2 nibble의 관계가 된다. 4bit를 이용..

    Node.js - express (11) express.json()

    이번 포스팅에서는 서버쪽에서 JSON 형태의 데이터를 받는 방법에 대해 알아보고자 한다. WSL 환경에서 curl을 이용해 post 요청으로 데이터를 전달하는 방식으로 진행하였다. 지금까지 우리는 post 방식으로 전달된 데이터를 받을 때 아래의 코드를 사용했었다. app.use(express.urlencoded({extended: true})) 해당 코드를 작성해 줌으로써 라우터의 미들웨어에서 req.body를 사용해 HTTP 패킷의 Request Body 영역에 담겨 있는 데이터를 가져올 수 있었다. 하지만 이 코드는 body 영역에 담겨있는 모든 데이터를 처리할 수 있는 마법의 구문이 아니다. body 영역에 데이터가 있을 때마다 이 코드가 실행되는 것이 아니라, 요청 헤더(Request Heade..

    Node.js - express (10) express-session 사용하기

    저번 포스팅에서 세션이 무엇인지에 대해 다뤄보았었다. 이번에는 express-session 패키지를 사용해서 세션을 만들어 보고 간단한 로그인 기능을 구현해보도록 하자. express-session 세팅하기 로그인 기능 구현하기 우선 로그인 기능이 작동하는 원리를 간단하게 살펴보자. 사용자가 아이디와 패스워드를 입력해서 웹서버로 요청을 보내면 웹서버는 자신이 갖고 있는 데이터와 사용자가 입력한 데이터가 일치하는지 확인하는 작업을 거치게 된다. 그리고 데이터가 일치하는지의 여부에 따라 세션을 생성할지 말지를 결정한다. 사용자가 입력한 데이터가 서버쪽 데이터와 일치할 경우 서버는 세션을 생성해서 쿠키 형태로 사용자의 브라우저에 전송하게 된다. 세션은 ..