세션 인증방식이 REST 원칙에 위배되는 건가요?
340
작성한 질문수 9
세션 인증방식이 REST 원칙에 위배되는 건가요?
세션은 stateful합니다.
rest는 stateless를 지향하고요
그렇다면 세션 인증방식이 REST 원칙에 위배되는 건가요?
근데 네이버나 이런사이트들도 세션을 쓰는거 같은데
어떻게 개념을 정리해야 하는지 궁금합니다
답변 1
1
안녕하세요, 인프런 AI 인턴입니다.
네, 맞습니다. 세션을 기반으로 한 인증방식은 REST의 기본 원칙 중 하나인 무상태성(Statelessness)에 위배됩니다. REST 아키텍처는 클라이언트와 서버 간의 상호작용이 이전 상태에 의존하지 않아야 한다고 규정하고 있습니다. 즉, 각 요청은 필요한 모든 정보를 포함하고 독립적으로 처리될 수 있어야 합니다. 세션 인증은 서버에 클라이언트 상태 정보를 저장하여 이후 요청들이 이 상태 정보를 참조하는 방식이므로, 이는 REST의 무상태성 원칙과 상충됩니다.
그럼에도 불구하고, 네이버와 같은 많은 사이트들이 세션 기반 인증을 사용하는 이유는, 실제 웹 애플리케이션 개발 시에 사용자의 인증 상태를 관리할 필요가 있기 때문입니다. 이를 효율적으로 관리하기 위해 세션 인증을 사용하는 것이며, 이 경우 RESTful 서비스의 원칙을 완전히 준수하기 어렵습니다.
대안으로, REST 원칙을 더 잘 준수하는 인증 방식으로는 토큰 기반 인증 방식이 있습니다. 예를 들어 JWT(Json Web Token)와 같은 토큰 인증 방식은 서버가 사용자 상태를 저장할 필요 없이, 각 요청에 토큰을 포함시켜 인증 정보를 요청과 함께 전달합니다. 이렇게 하면 각 요청이 독립적으로 처리될 수 있어 REST 원칙에 보다 부합합니다.
개념을 정리하자면, 세션 인증방식은 편리하고 널리 사용되지만 REST 원칙에 완전히 부합하지는 않으며, 보다 RESTful한 애플리케이션을 개발하고자 할 때는 토큰 기반 인증 방식을 고려해 볼 수 있습니다.
JWT를 구현한 다음 이 API를 호출해서 사용하는 것은 프론트엔드 쪽에서 하는 역할인가요?
0
96
1
Jwt쓰면 스프링시큐리티는 필수적으로 사용해야하나요?
0
401
1
13:23 system.out 출력문이 다르게 나옵니다.
0
130
1
수료증 문의
0
226
2
9분대에 질문이 있습니다 !
0
114
1
password 비교를 하지 않았는데 어떻게 인증이 통과된 건가요?
0
321
1
이전 강의 참고하라는 말씀
0
253
1
강의 실습하다가 막히는 분들 참고(2024년8월 기준)
2
1116
2
구글 소셜 로그인 302
0
200
1
오류 문의 _ org.springframework.orm.jpa.JpaSystemException: could not deserialize
1
584
1
[자바] 시큐리티 Config 참고
13
953
1
이론강의
0
280
1
SpringSecurity JWT 로그인 URL 2개 설정하는 방법
0
487
1
2024.06기준) 최근 SecurityConfig 설정 문의
0
921
3
구글 로그인시 authentication이 null 값이라고 에러가 발생합니다.
0
678
2
특정 url필터 거는 방법 이슈
0
422
1
강사님께서 말씀하시는 시큐리티세션이 SecurityContext인가요?
0
277
1
25강 마지막 테스트에서 오류
1
1044
2
jwt를 저장하는 위치에 궁금한 점이 있습니다.
0
298
1
mustache를 사용하지 않고 thymeleaf를 사용하려고 하는데
0
697
1
jwt와 실제데이터의 관계
1
243
1
jwt 와 세션ID의 관계
1
313
1
SecurityConfig에서 세션 설정, 인가 설정
0
421
1
섹션2 9강까지 듣고 질문이 있습니다. 스프링부트 버전을 다운그레이드해도 될까요?
0
396
1





