📬 서버 상태(Server State)
서버 상태란 클라이언트가 아닌 서버나 그 밖의 외부 공간에 저장되어 있는 데이터로, 일반적으로 클라이언트가 요청을 보내 데이터를 사용합니다.
서버 상태의 특징은 다음과 같습니다.
- 서버에 저장되므로 클라이언트가 종료되어도 데이터가 사라지지 않습니다.
- 보통 클라이언트에서 API 요청을 보내 데이터를 받아서 사용하며
- 권한이 있는 클라이언트라면 누구나 서버 상태 데이터에 접근할 수 있습니다.
- 네트워크 요청이 요구되므로 데이터에 접근하고 업데이트하는 데 시간이 걸릴 수 있습니다.
서버 상태에는
- 사용자와 관련된 정보(프로필, 권한의 정도)
- 데이터베이스에 저장된 각종 데이터
- API를 통해 가져와야 하는 데이터
- 비동기 데이터
등이 존재합니다.
📬 클라이언트 상태(Client State)
클라이언트 상태란 웹 브라우저나 앱의 메모리에 일시적으로 저장되는 상태값으로, 사용자의 행동과 관련된 데이터입니다.
클라이언트 상태의 특징은 다음과 같습니다.
- 일시적으로 저장되기 때문에 브라우저를 새로고침하거나 종료하면 저장된 데이터는 사라집니다.
- 클라이언트 내부에 저장되고 관리되기 때문에 해당 클라이언트만 데이터에 접근할 수 있습니다.
- 네트워크 요청을 할 필요 없이 데이터에 빠르게 접근할 수 있습니다.
- 그러나 초기 데이터를 받아오거나 데이터 업데이트가 요구되는 경우 네트워크 요청이 필요할 수 있습니다.
클라이언트 상태에는
- form 입력값
- 모달의 열림/닫힘 여부
- 정렬이나 필터 옵션
- useState로 관리되는 다양한 값들
이 있습니다.
읽어주셔서 감사합니다:)