안녕하세요 영한님, 좋은 강의 제공해 주셔서 감사합니다.
강의를 듣다가 갑자기 궁금한 점이 생겼습니다.
저는 지인들과 Spring 프로젝트를 진행하고 있습니다.
프로젝트를 진행하면서, 강의 내용과 유사하게 form 태그를 이용해서 post를 날릴 때, 검증 코드를 작성해야 하는 일이 있었습니다.
그때는, 이 강의를 듣기 전이었기에, 생각나는대로 구현해서 처리했었습니다. 그 당시에 한 방법은, 프론트단에서, javascript를 이용해 post를 날리기전에 검증하고, 에러가 있으면, 표시해주고, 에러가 없으면 post를 날리는 방식이였습니다.
그리고 이 강의를 들으니, 검증 로직을 Front부분에 넣을게 아니라, Backend부분에 넣어야하는 것이 더 좋은지 궁금합니다.
안녕하세요. 이윤준님, 공식 서포터즈 OMG입니다.
프론트와 백단 둘 다에서 검증을 하실 것을 권장드립니다.
가령 회원가입과 관련해서 ID의 최소 길이에 대한 검증이 필요하다면 회원가입 앞단의
input 태그에서
값이 필수로 입력되어야 하고, 최소-최대 길이에 대한 검증을 앞단에서 처리하면서
동시에 서버 단에서도
처리하여 2번의 검증 절차를 통해 문제를 방지 할 수 있는거죠. 또한 이렇게 해야 서버 단에서의 검증 로직이 돌지 않아 부하를 줄일 수 있구요.
예를 들어, 동시에 10만명이 회원가입을 한다고 했을 때 5만명은 화면 단에서 검증이 걸린다면 서버에서 (동시에) 처리해야 할 유효성 검사에 대한 부하가 줄겠죠?
또한 다른 지식 공유자분의 설명으로는(https://www.inflearn.com/questions/9376)
프론트에서 JS로 검사하는 로직은 크롬 디버거 열어서 조작이 가능하기 때문에 실제로 서버에 이상한 값이 전달 될 수 있어 백단에서의 재차 검증이 필요하다고 합니다.
감사합니다.
답글