Skip to content

DOCS. 쿼리 vs 세션 스토리지

Seogeurim edited this page Aug 31, 2021 · 7 revisions

쿼리 vs 세션 스토리지 맞붙다

장바구니를 만들려던 그림의 남자3과 주문 페이지를 만들던 그림의 남자2..

장바구니에 상품을 담고 주문 페이지로 정보를 넘겨줘야하는 절체절명의 상황!

그들은 쿼리와 세션 스토리지 사이에서 고민을 하게된다.

아무거나 쓰지 왜?..

장바구니에 담긴 상품 정보는 일단 로컬 스토리지에 담겨 있는 상황이었다.
장바구니 페이지에서 유저가 상품을 선택하고 주문을 하면
선택된 상품의 정보만 주문 페이지로 넘겨줘야했는데
고민은 여기서 시작됐다.

장바구니에 담긴 상품 정보는 꽤 오래 저장되어야할 가능성이 높기 때문에 로컬 스토리지를 사용하는 것이 맞다고 생각되었다.
하지만 주문 페이지의 경우에는 유저가 주문을 끝마치거나 로그아웃을 하면 정보가 필요 없어지는 것이 분명했다.
그래서 세션 스토리지에 저장해서 사용하면 되겠다고 생각했지만
일회용으로 사용하기에는 스토리지라는 이름이 걸렸다.
이보다 명확한 사용해선 안되는 이유를 알 수 있었으면 좋았겠지만 그러지 못했고
결국 세션 스토리지에 저장하는 방식으로 구현을 마쳤다.

결론

아직 잘 모르겠다.
지금까지 생각해본 바로는 해당 정보는 일회성으로 사용하기 때문에 쿼리가 맞는 것 같다.
하지만 세션 스토리지에 저장하고 사용하는 것이 스토리지라는 이름이 걸린다는 이유말고 특별히 잘못되었다는 이유를 찾지 못했다.
아버지! 날 보고 있다면 정답을 알려줘!

회고

  • 박기덕 : 데이터를 넘겨줄때 세션 스토리지가 맞을까? 스토리지는 스토리지의 이름 답게 무언가를 저장하기 위한 목적으로 쓰이는게 더 좋지 않을까 싶다.
  • 서그림 : 쿼리를 사용하면 사용자가 마음대로 조작할 가능성이 커지는 것이 아무래도 세션 스토리지를 사용할 이유로 작용하는 것 같다. 아니면 장바구니부터 주문하기까지, redux state로 관리하는 것은 어땠나 하는 생각도 든다.
  • 손원우 : 스토리지가 편하고 좋은데 일시적으로 쓰기엔 좀 뭐한거 같기도 하고 그렇네요..!
  • 윤민상 : 세션스토리지가 더 맞는것같은게 쿼리를 사용하면 사용자가 마음대로 조작할 수 있다. 물론 쿼리도 마찬가지지만 세션이 더 맞다고 생각한다. 보안을 높이고 싶다면 세션에 토큰을 집어넣는 방법도 있을 것 같다.
Clone this wiki locally