inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

정리

배포 환경에서의 세션, 쿠키

193

딸기초콜릿

작성한 질문수 8

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오) 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 아니오

[질문 내용]
여기에 질문 내용을 남겨주세요.
http 프로토콜의 로컬 환경에서는 별도의 설정 없이 클라이언트에서 jsessionid를 헤더에 넣어서 서버에 전송하는 반면, 프론트엔드 서버와 분리된 배포 환경에서는 cors 설정 뿐만 아니라 https 프로토콜로 변경, yml 파일에
server: servlet: session: cookie: same-site: none secure: true
와 같은 별도의 설정을 완료함으로써 쿠키가 서버로 전달되었습니다. (same-site가 none이면 secure은 꼭 true여야 해서요) 비교적 쿠키-세션 방식이 간단한 것 같지만, 이러한 별도의 설정 그리고 stateful한 쿠키-세션 방식 때문에 배포 환경에서 jwt를 쓰는 것이 좋은지, 아니면 쿠키-세션 방식을 쓰는 것이 좋을 지 잘 모르겠습니다.

spring mvc

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

님의 질문에 답변드리겠습니다.

HTTP 프로토콜에서 세션과 쿠키를 사용하는 방식과 귀하가 구성한 same-site: nonesecure: true 설정은 클라이언트와 서버 간의 안전한 쿠키 전송을 위해 필요한 중요한 설정입니다. 이는 특히 HTTPS 프로토콜을 사용하고 CORS 설정이 필요한 분리된 프론트엔드와 백엔드 서버 환경에서 더욱 중요합니다.

JWT와 세션-쿠키 방식 간의 선택은 많은 요소에 따라 달라질 수 있습니다. 예를 들어, JWT는 상태가 없는(stateless) 인증 방식을 제공하여 서버의 세션 관리 부담을 줄이지만, 쿠키-세션 방식은 상태를 서버에서 관리하기 때문에 서버가 사용자의 인증 상태를 더 구체적으로 제어할 수 있게 합니다.

각 방식의 장단점을 고려할 때, 보안성, 확장성, 개발 및 유지 관리의 용이성 등 귀하의 어플리케이션 요구 사항에 가장 적합한 방식을 선택하는 것이 중요합니다. 또한, 서버간 통신이 빈번하거나 마이크로서비스 아키텍처를 사용하는 경우 JWT를 사용하는 방식이 더 적합할 수 있습니다. 반면, 어플리케이션이 단일 도메인에서 운영되고 세션 관리에 추가적인 제어가 필요한 경우에는 쿠키-세션 방식이 더 나을 수 있습니다.

따라서 두 인증 방식의 특징과 귀하의 프로젝트 요구 사항을 면밀히 검토하여 가장 적합한 방식을 선택하는 것이 권장됩니다.

이미지 업로드와 db 트랜잭션 묶는법

0

43

1

Could not resolve org.springframework.boot:spring-boot-starter-validation:2.4.4

0

53

2

MessageSourceTest 코드

0

47

1

인터셉터 에러 설정

0

48

1

resolveArgument()메서드 질문

0

57

1

43강 검증1 에서 실패 로직 관련 질문있습니다.

0

56

2

타임리프 3.X 버전 rendering, serializer 에러 해결 방법

2

133

3

스프링 빈에 등록이 안되는거 같은데 어떻게 하면 좋을까요?ㅠㅠ

0

90

3

pdf 오타 문의

0

57

1

ItemUpdateForm 검증 관련 질문입니다.

0

48

1

22page 링크 주소 변경

0

59

2

특정 데이터와 파일을 함께 저장 시, 테이블 구조 질문

0

53

1

섹션3번 수업에 대한 질문입니다.

0

80

2

@Autowired 보다 더 좋은 방법이 어떤 걸까요?

0

85

2

타입컨버터 가 람다랑 비슷해 보이는데 저의 생각이 맞는지?.

0

65

1

자바스크립트 인라인에서 객체 직렬화 시 오류가 납니다

0

142

3

스프링부트 - 오류페이지2 에서 500.html 에서 쓰인 객체 질문

0

63

1

톰캣 에러 페이지가 안보입니다.

0

102

2

apiEceptionController에서 센드 에러 호출하면 안되는지?

0

81

1

세션 타임아웃시 쿠키 삭제 방법이 없나요?

0

118

2

ApiExceptionController 질문드립니다.

0

64

1

셀렉박스 챕터에서 option value에 ==배송 방식 선택== 이것을 넣은 이유가 궁금함, 이렇게 구상해도 되는지?

0

66

1

MemberRepository 필드의 fianl 선언 유무

0

85

2

혹시 index.html 에서는 fragment 사용이 안되는건가요

0

58

1