• 회원가입
  • 로그인
  • 구글아이디로 로그인

[web] (세션/쿠키/스토리지/테이블) 방식 장단점

1,694  

(세션/쿠키/스토리지/테이블) 방식 장단점

[질문]

그누보드5 (테마/게시판스킨)을 사용자가 ajax 이용해 선택 가능 시, (세션변수 생성 / 쿠키변수 생성 /스토리지에 저장 / 테이블에 저장) 4가지 방식 중 어떤 방식이 가장 좋나요?

 


[답변]

상황에 따라 다르며, 각 방식의 장단점 고려하여 적절한 방식을 선택 권장.


1. 세션변수 생성 방식 

서버 측에서 세션 객체 생성해 해당 세션에 정보 저장함. 사용자의 브라우저에서 세션 ID를 쿠키로 전송하여 세션 객체를 식별함.

  • 장점: 서버 측에서 관리하기 때문에 보안이 우수함. (브라우저 종료 시 세션도 함께 종료되기 때문에 보안에 더욱 강함.)
  • 단점: 서버 메모리 사용하므로 서버 부하 발생 가능.


2. 쿠키변수 생성 방식 

클라이언트 측에서 쿠키 생성해 정보 저장함. 쿠키는 브라우저가 관리함.

  • 장점: 쿠키 이용하면 서버 부하를 줄일 수 있음. 또한, 쿠키는 브라우저가 관리하기 때문에 클라이언트 측에서 자유롭게 사용 가능.
  • 단점: 쿠키는 브라우저에 저장되기 때문에 보안이 취약함. 또한, 쿠키 크기는 작기 때문에 많은 정보 저장에는 부적합

  

3. 스토리지에 저장 방식

HTML5에 추가된 기능으로, 클라이언트 측에서 로컬 스토리지나 세션 스토리지를 사용하여 정보를 저장함. 
  • 장점: 쿠키보다 보안 우수. 또, 크기 제한 없어 많은 정보 저장 가능.
  • 단점: HTML5 미지원 브라우저에서는 사용 불가.

 

4. 테이블에 저장 방식

서버 측의 데이터베이스 테이블에 정보를 저장함. 
  • 장점: 서버 측에서 관리하므로 보안 우수. 또한, 정보를 영구적으로 보존 가능.
  • 단점: 서버 부하 가능성 존재함. 또, DB 접근 시간 증가 가능성 있음.

 

따라서, 정리하면 아래와 같음.

  1. 사용자 선택 스킨 정보 식별이 목적이면, 쿠키나 스토리지에 저장.
  2. 보안이 중요하면 세션 변수나 테이블에 저장
  3. 그러나, 많은 정보 저장 경우에는 세션 변수나 테이블에 저장
  4. 또한, 사용자가 로그인한 상태에서만 스킨 선택 기능 사용하려면, 세션 변수나 테이블에 저장.
  5. 브라우저 종료 후에도 정보 유지하려면, 스토리지에 저장.


마지막으로, 어떤 방식 선택하든, 보안 고민은 필수임.

  1. 중요 정보는 암호화 저장하거나, 세션/쿠키 유효시간을 짧게 설정.
  2. 또한, XSS/CSRF 같은 보안 취약점 예방 위한 대책도 반드시 강구.

 

 



분류 제목
web PHP - binary-safe 함수 (= 이진안전함수 = 바이너리세이프함수) 의미
web 광고배너개수와 수익의 상관관계
web 윈머지 다운로드 및 사용법 + 한글깨짐에러해결 (Winmerge Download How to use) ※ 파…
web G5 - pax_global_header 파일 정체
web 웹틸 vs 웹유틸 차이 (WebTil vs. WebUtil)
web 카페24 PhpMyAdmin 설치법 + (대체・대용) DB 관리 프로그램 설문 중
web 웹사이트 로딩속도체크 (= 홈페이지로딩 지연원인 찾기)
web 요소 선택자 알아내서 위치 옮기기
web 유튜브, 유투브 어느 게 맞을까?
web 웹틸 (WebTil) - 웹상에서 plugin 폴더밖에 넣어 사용하는 모든 편의 웹솔루션을 일컫는 용어 (…
web 사파리 브라우저 윈도우 설치중단 (= Windows용 Safari 설치 불가능)
web 제 홈페이지 접속속도 (=문서로드속도) 브라우저 비교 (※ Ctrl + F5 캐시새로고침후 비교)
web 서버 - 방문자25만명 대용량서버 운영 사양 및 유지비 + 대규모홈페이지운영노하우 베스트10
web 워드프레스가 설치된 폴더(wp-config.php가 속해있는 폴더)를 아파치 라우팅 설정 파일 (.htacc… 1
web 데이터베이스설정 1
web mwb - 삭제글이동 기능 설정 (= 쓰레기통보드 = 휴지통보드 = Trash board)
web 웹언어 학습사이트 베스트 모음 ★ (Web, Code, Language) [3레벨] 
web ftp 수정한 이미지가 홈페이지에 적용이 안될때 1
web 유명 웹사이트 프로그래밍언어 확인 (=유명사이트코딩언어) (PWPL : Popular Website Pro…
web G5 - 더보기 버튼 클릭 시, 번호가 기존 번호에 이어서 출력되게 하려면? (무한더보기, 고유아이디, 고유… 2
9/19
목록
찾아주셔서 감사합니다. Since 2012