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

