사용자 기록 초기화하며 테스트하기

hyHA·2024년 1월 21일

사용자가 웹 사이트에 처음 방문하는 것과 유사한 것처럼 설정

테스트를 위해 여러번 반복해서 실행하다보면 캐시, 쿠키, 세션 등이 남아서 테스트 결과가 오염될 수 있어서 주기적으로 삭제를 해줘야 한다. (이게 의외로 어렵다..)
가장 확실한 방법은 인터넷 사용 기록 삭제 후 시크릿 모드에서 테스트를 진행하는 것이다. 하지만 이 방법은 너무 번거로워서 (이후 접속 시 자동로그인되었던 모든 웹사이트에 재로그인을 해야한다) 각각의 경우 어느 정보까지 삭제가 되는지 확인해야겠다.

세션과 쿠키, 캐시의 생성

세션의 생성

세션은 사용자가 처음 웹 사이트에 접속을 하거나, 로그인을 할 때, 그리고 기존 세션의 유효시간이 만료되면 생성된다.

쿠키의 생성

쿠키는 사용자를 기억하기 위해, 그리고 상태를 유지하기 위해 활용되고, 세션 관리, 사용자 트래킹, 로그인 정보 저장 등에 사용된다.

쿠키는 사용자가 웹 사이트를 방문하면 서버는 응답 시 헤더를 통해 클라이언트에게 쿠키를 전달한다. 이는 사용자를 식별하거나 세션을 관리하기위한 용도이다.

또한 사용자가 웹 사이트에서 어떠한 동작을 수행할 때 생성된다. 서버는 응답에 쿠키를 설정하여 해당 동작에 대한 정보를 기록하거나 사용자의 환경을 추적할 수 있다. 예를 들어, 사용자가 언어 설정을 변경하면 서버는 해당 설정을 쿠키에 저장하여 사용자가 사이트를 다시 방문할 때 같은 언어로 콘텐츠를 제공할 수 있다.

캐시의 생성

캐시는 웹 애플리케이션에서 리소스의 반복적인 요청을 최적화하기 위해 사용되며, 주로 다음과 같은 상황에서 생성된다.

웹 페이지나 애플리케이션에서 특정 리소스(이미지, 스타일 시트, 스크립트 파일 등)에 대한 요청이 최초로 발생할 때, 서버는 해당 리소스를 클라이언트에게 제공하면서 캐시를 생성한다.

테스트 시 세션,캐시,쿠키 영향 없애기

시크릿 모드로 테스트하기

  • 목적: 사용자의 웹 브라우징 활동을 완전히 비공개로 유지한다, 해당 세션 동안 생성된 데이터를 자동으로 삭제한다.
  • 작동 방식 : 시크릿 모드에서는 사용자의 활동에 대한 정보를 브라우저에 저장하지 않는다
    따라서 로그인 정보, 쿠키, 및 기타 브라우징 데이터가 세션 종료 시 자동으로 삭제된다
  • 제한 : 시크릿 모드는 현재 세션에만 적용되며, 다른 활동에 대한 완전한 익명성을 제공하지 않을 수 있다

캐시 삭제

  • 삭제 대상 : 브라우저의 캐시에 저장된 정적 리소스
  • 영향 : 이후 해당 리소스가 요청될 때 브라우저는 서버에서 리소스를 새로 다운로드하여 로드함.

세션 삭제

  • 삭제 대상 : 서버 측에 저장된 현재 세션에 관련된 모든 정보 삭제.
    • ex) 로그인 상태, 장바구니 내용, 사용자 상태
  • 세션 저장소 : 실제 데이터는 서버의 지정된 장소에 저장되고, 객체 자체는 메모리에서 관리됨.
  • 영향 : 사용자는 현재의 세션 정보를 잃어 로그인 상태가 해제되고 현재까지의 세션 관련 데이터 초기화됨

쿠키 삭제

  • 삭제 대상 : 클라이언트 측 브라우저에 저장된 쿠키 데이터 삭제.
    • ex) 사용자 식별, 로그인 정보, 선호도 설정 등을 담은 작은 데이터 조각
  • 영향 : 웹 사이트 방문 시 다시 로그인해야할 수 있고, 이전의 사용자 설정이 초기화도리 수 있음.

인터넷 사용 기록 삭제

목적: 브라우징 히스토리를 완전히 삭제.
작동 방식: 이전에 방문한 웹 사이트나 검색 기록 등이 삭제되어 이전에 수행한 모든 브라우징 활동이 삭제된다

오류 history

  1. f12 쿠키 삭제 -> 신규 사용자처럼 로그인
  2. 몇번은 잘 삭제되더니 15번쯤? 반복하니 시크릿 창을 띄워도 계속 로그인되는 이슈
  3. 서버 세션 파일 삭제하고 브라우저 쿠키 삭제하고 캐시도 삭제했는데도 동일 이슈
    f12 쿠키 삭제
    session()->flush(); && Illuminate\Session\Store 파일 삭제
    Cache::flush();
  4. 인터넷 사용기록을 삭제하여 해결
profile
룰루랄라

0개의 댓글