개발자 도구에 있는 애플리케이션이란?
브라우저 저장소의 기능을 담당. 즉, 현재 로딩된 웹 페이지에서 사용된 모든 리소스(이미지, DB, 로컬 및 세션 스토리지, 쿠키, 애플리케이션 캐시 등)를 검사할 수 있는 패널
서버와 클라이언트가 통신을 할 때 통신이 연속적으로 이어지지 않고 한번 통신이 되면 끊어진다.
따라서 서버는 클라이언트가 누구인지 계속 인증을 해줘야 한다. 하지만 그것은 매우 귀찮고 매우 번거로운 일이다.
또한 웹 페이지의 로딩을 느리게 만드는 요인이 된다.
그런 번거로움을 해결하기 위해 쿠키, 세션 스토리지, 로컬 스토리지를 사용한다.
스토리지는 브라우저의 저장소. 값의 성격에 따라 다르게 사용이 된다.
두 스토리지 모두 HTML5에서 새로운 저장 옵션으로 도입이 된 개념이다.
key-value
페어 객체 형태로 데이터가 저장된다.
쿠키의 단점을 보완해서 만든 기술이다. 쿠키보다 보안이 우수하며 용량이 큼
ex) 자동 로그인, 장바구니
사용자가 지우지 않는 이상 데이터의 영구성이 보장된다. 사용자가 지우지 않는 이상 계속 클라이언트 웹 브라우저에 남아있다. storage
3가지 중 허용 용량이 가장 크다(10MB).
지속적으로 필요한 정보를 저장하기에 좋다.
ex) 비회원 장바구니, 일회성 로그인
윈도우나 브라우저 탭을 닫을 경우 사라진다. 즉, 데이터의 영구성을 보장하지 않는다. 일회성의 데이터
ex) 3일간 다시 보지 않음 팝업 창
스토리지 개념 도입 이전 저장소로 사용이 되던 것 4KB까지만 저장이 가능함
지속 시간을 설정할 수 있음(만료 기간 설정 가능)
직접적이지 않은 데이터를 저장할 때 사용한다.
쿠키는 사이트에서 방문한 페이지를 저장하거나 유저 로그인 정보를 저장하는 등, 다양한 방법으로 사용이 되지만 문자열만 저장할 수 있다는 제한이 있다.
컴퓨터 과학 및 정보 보안 분야에서 여러 목적으로 사용되는 일련의 문자열
인증, 권한 부여 등의 목적으로 활용됨
인터넷에서 사용자가 자신의 신원을 확인하거나 권한을 부여받기위해 사용하는 것이다. 이런 인증 토큰은 사용자의 로그인 상태를 나타내거나, 특정 자원에 접근할 수 있는 권한을 부여받은 것을 나타낼 수 있다.
프론트엔드나 백엔드에서 사용자 인증을 위해 토큰(Token)을 사용하고 있다.
일반적으로 웹 애플리케이션에선 사용자가 로그인하면 서버에서 발급한 토큰을 클라이언트 측에서 저장하고, 이 토큰을 이용해 인증된 요청을 서버에 보낸다.
만약 클라이언트가 토큰을 보유하지 않거나 만료된 경우, 보통은 로그인 페이지로 리다이렉트하여 사용자에게 다시 로그인하도록 유도한다.
토큰은 일반적으로 브라우저 스토리지와 쿠키 2가지 방법 중 하나를 사용해 저장할 수 있다.
각 방법에는 장단점이 있으며, 보안 요구 사항과 사용 사례에 따라 다르게 선택할 수 있다.
보안 설정이 상대적으로 적고, 클라이언트 측에서 토큰 관리를 해야하지만, 대용량 데이터를 저장할 수 있고 사용이 간편하다.
서버에 자동으로 전송되며 보안 설정을 통해 보호할 수 있지만, 저장 용량이 제한적이고, XSS와 같은 공격에 취약할 수 있다.
어떤 방법을 사용할지는 애플리케이션의 보안 요구 사항과 사용 사례에 따라 결정한다.
예를 들어, 민감한 정보가 포함된 토큰의 경우 보안을 강화하기 위해 쿠키를 HttpOnly와 Secure 옵션을 사용해 저장하는 것이 좋습니다.
반면, 단순한 정보나 보안이 덜 중요한 경우 로컬 스토리지를 사용할 수 있다.