BackEnd/개념정리
-
Socket이란?BackEnd/개념정리 2022. 6. 27. 19:44
Socket은 Server와 Client사이에 요청을 통해서 받는 것이 아니라 각자 원하면 data를 주고 받을 수 있다. 이용할 수 있는 곳은 실시간DataBase, 실시간 채팅 업로드, 수정 등 실시간으로 일어나는 일에 유용할 듯 싶다. 자세한 내용은 공식사이트를 참조,,https://socket.io/ Socket.IO Reliable Rest assured! In case the WebSocket connection is not possible, it will fall back to HTTP long-polling. And if the connection is lost, the client will automatically try to reconnect. socket.io *주의 사항으로 Sock..
-
Configuration 환경 변수 설정 - CodeHan의 코딩공부BackEnd/개념정리 2022. 6. 21. 14:07
환경변수를 설정하는 이유는? 우리가 Server에 담긴 중요한 정보를 gitHub나 OpenSource로 공유하게 되면 보안에 치명적이다. 그러므로 우리가 사용하는 Port정보나 Secrt Key같은 경우는 환경변수에 저장하는 것이 좋다. 환경변수 설정하는 법. .env파일을 만들어 해당 COOL_COOL=123같은 형식으로 중요한 데이터를 저장한다. node에서 dotenv라이브러리를 추가하고 dotenv.config()를 수행한 뒤, 불러올 때 process.env.COOL_COOL로 불러올 수 있다. 이런식으로 해도 되지만 중요한 data가 변수설정이 안되어있을 수도 있고, 오타 등 유효성 검사가 필요하다. 그렇다면 어떻게 하는게 더 안전하고 확실할까? 새로운 JS파일에 우리가 필요한 key를 Ob..
-
Authentication에 대하여 - CodeHan의 코딩공부BackEnd/개념정리 2022. 6. 18. 08:53
Authentication // 사용자 인증이라고 하며 흔히 로그인을 예로 들 수 있다. - 사용자가 자신을 증명하는 것! Login정보는 Server에 저장되는데, 이미 LogOn된 Client와 Server를 어떻게 구분할까? 여기에는 Session과 JWT가 있다. Session 장점 : Client가 서버에 로그인을 요청하면 서버는 DB에서 verify한 다음, 일치한다면 Session을 만들어 DB에 저장한다. Sesssion에는 UserId, expiration, 세션유지기간 등에 대한 정보가 담겨있다. 쿠키에 정보를 담아서 Client에 전송하며 Http only로 전송하면 안전성을 확보알 수 있다. 단점 : 시시각각 변하는 서버에 세션을 저장하고 있으므로 서버의 상태에 영향을 받는다. 하나..
-
유효성 검사(Validataion) - CodeHan의 코딩공부BackEnd/개념정리 2022. 6. 14. 05:12
Validataion이란? 클라이언트가 서버에게 요청이나 리소스를 만들기 위해 Body에 보내는 Data를 확인하는 과정. 유효성검사는 서버에서도 할 수 있고 Client측에서 할 수 있지만 빨리 할 수록 좋다. - 서버에서 읽고 쓰는 모든 것도 비용이고, 서버에서 검사하는 도중에 Client측에서 오는 요청을 처리하기 어렵기 때문 - 서버에서 검사를 한 뒤 오류가 발생하면 다시 Client측에 전달해야하므로 비용이 또 발생할 수 있다. 따라서, Client만의 유효성 검사가 필요하다. 그러나 이것은 Optional한 상황이기에 서버에서 Validation은 필수이다! //sanitization : Data를 깔끔하게(?) 처리해준다 1. .trim()을 이용해서 공백을 제거해준다. 2. sanitiza..