본문 바로가기

DEVELOP/Node.js

(3)
MVC 패턴이란 무엇인가? MVC는 Model View Controller를 줄인말로, 사용자 인터페이스와 데이터 및 논리 제어를 구현할 때 사용되는 소프트웨어 디자인 패턴 중 하나이다. 간단하게 말하자면 개발을 할 때 3가지의 형태로 역할을 나누어서 개발을 하는 방식으로, 사용자 인터페이스로부터 비즈니스 로직을 분리하는 것에 가장 큰 중점을 두고 있다. 우리가 어떤 서비스가 돌아가게 하기 위해서는 여러 과정들과 처리가 필요한데, 그런 처리들에 대해 하나의 코드 베이스가 아닌 기능별로 모델, 뷰, 컨트롤러로 나누어주는 것이 MVC 패턴이라고 보면 된다. 이러한 분리를 통해 우리는 인터페이스와 비즈니스 로직 간에 서로 영향 없이 업데이트 및 유지보수가 가능한 애플리케이션을 만들 수 있다. MVC 컨셉을 사용하는 웹 프레임 워크는 E..
[Auth] Session과 Token은 서로 절충 가능한가? Session 과 Token은 모두 웹 브라우저에서 인증을 위해 사용되는 방식이다. 사용자의 정보를 인증받고 그에 대한 정보를 저장한다. 1-1. Session 클라이언트와 서버간의 관계를 활성화 된 상태로 유지하기 위해 서버에서 클라이언트에 유니크한 아이디를 부여하고 서버 측에서 관리하도록 하는데, 이 자체를 바로 세션이라 한다. 사용자에 대한 민감한 정보들은 세션으로 관리하는데, 사용자가 웹 브라우저에 이용하면서 탈취당하는 경우보다, 서버가 해킹당하는 경우가 일반적으로 더 적기 때문에 서버에 인증의 책임을 더 부여하는 것이다. (물론 요청 자체를 가로챈다면 요청 내부에 있는 쿠키도 탈취가 가능하기 때문에, 이 경우까지 막기 위해서는 https 방식을 통해 요청 자체를 읽기 힘들게 만들거나 세션에 유효..
[Authentication] Cookie/Session 학습 내용 HTTP와 HTTPS의 차이점 권한 부여(Authorization)와 인증(Authentication) Cookie/Session HTTP, HTTPS, SSL HTTP : 브라우저에서 웹 클라이언트와 서버 간에 데이터를 전송하기 위한 통신 규약. 암호화 되어있지 않기 때문에 서버와 클라이언트 사이에서 전송되는 데이터의 보안이 취약하다. HTTPS : SSL나 TLS (이전 SSL이 TLS로 이름이 바뀐 것이기 때문에 사실상 둘은 같은 말이지만, 일반적으로는 TLS가 SSL이란 이름으로 사용된다.) 을 이용해서, HTTP 통신을 하는 과정에서 내용을 암호화하여 데이터를 전송한다. SSL : SSL 인증서는 클라이언트와 서버 간의 데이터 전송을 위한 통신을 제 3자가 보증하는 문서이며, 클라이언..