로그인 API를 구현하기 위해 어떤 HTTP 메서드를 사용해야 하는가?
사용자가 아이디와 비밀번호를 입력 후 로그인 요청을 한다면 아이디와 비밀번호는 서버에 전달되고 서버는 Database를 확인해 사용자를 식별할 뿐이기 때문에 GET 메서드가 적절해 보이지만 GET 메서드 사용시 아이디와 비밀번호는 쿼리로 전달되야 한다.(GET 메서드는 데이터를 바디에 담을 수 없다) 하지만 GET 요청은 서버 데이터의 상태를 변경하지 않기 때문에 쿼리를 적극적으로 캐싱할 수 있어 아이디와 비밀번호와 같은 정보를 쿼리에 담아 보내게 되면 보안에 취약하다.
따라서, 보안상의 이유로 아이디와 비밀번호를 바디에 담아 보내고(바디에 담긴 데이터는 HTTS 통신에 의해 암호화 된다) 서버 데이터의 상태를 변경해 캐싱될 수 없는 POST 메서드와 HTTPS를 사용해야합니다.
참고자료
'프로그래밍 공부 > Computer Science' 카테고리의 다른 글
[컴퓨터 공학 기초] 운영체제, 프로세스, 스레드 (0) | 2021.11.25 |
---|---|
[컴퓨터 공학 기초] 문자열 (0) | 2021.11.25 |
[인증/보안] HTTPS, Hashing, Salt, Cookie, Session (0) | 2021.11.22 |
[알고리즘] 병합 정렬(merge sort) (0) | 2021.11.16 |
[알고리즘] 퀵 정렬(quick sort) (0) | 2021.11.14 |