문제

웹 애플리케이션이 사용자에게 상태의 경험을 제공 할 수있는 세 가지 방법은 무엇입니까?

예, 강의의 질문입니다.

도움이 되었습니까?

해결책

효과적으로 두 가지 접근 방식 만 있습니다:

  • 각 요청 뒤에있는 사용자를 식별 하고이 식별을 세션 컨텍스트 (메모리, 데이터베이스에 저장)와 연결하십시오.
  • 클라이언트가 컨텍스트의 100%를 다시 전달합니다 (클라이언트가 사용할 URL 또는 양식에 컨텍스트를 포함 시키십시오. ViewState는이 방식으로 작동합니다 (*). 또한 쿠키를 사용할 수 있습니다. 문맥.

컨텍스트 데이터가 요청 사이에 지속되는 방식과 사용자 식별을 기반으로하는 시스템의 경우 신분이 제공되는 방식, 위에 나열된 두 가지 접근법에 대한 많은 변형이 있습니다. 예를 들어:

  • 데이터베이스의 컨텍스트,
  • 메모리의 맥락
  • 파일의 컨텍스트
  • ViewState (*)에 통과 된 컨텍스트
  • 문맥 ...,
  • 쿠키에 저장된 컨텍스트
  • SessionID의 ID는 URL/Form으로 전달되었습니다
  • 쿠키의 ID

(*) 편집 : 원래 ViewState는 세션 ID 전달 장치로 표시되었지만 Erikkallen이 지적한대로 ViewState의 기본 사용은 ID가 아닌 컨텍스트 정보를 전달하는 것입니다.

그러나 결국 컨텍스트가 서버쪽에 저장되어 있는지 또는 각 요청에 따라 클라이언트로 셔틀링되는지 여부에 따라 다릅니다.

다른 팁

3 명 이상이 있습니다.

  • 세션 상태
  • 상태를 봅니다
  • 쿠키
  • 데이터 베이스
  • 은닉처
  • 파일에 데이터를 작성합니다

기본적으로 사용될 수있는 것은 웹 요청에서 지속적인 데이터를 사용하여 상태를 저장할 수 있습니다.

숙제 질문처럼 보입니다. 어쨌든, 그것은 모호합니다 .. 사용자를 추적하는 방법? 사용자의 데이터를 저장하는 방법?

추적은 쿠키, URL 토큰 또는 숨겨진 필드 (양식의 경우)로 수행 할 수 있습니다.

데이터 저장은 여러 가지 방법으로 수행 할 수 있습니다.

가장 일반적인 시나리오는 세션 ID를 쿠키에 저장하고 해당 ID를 사용하여 사용자 세션을 검색하는 것입니다.

Ajax는 무국적 웹 응용 프로그램을 상태로 보이게하는 세 번째 작품입니다.

여전히 무대 뒤에서 요청을 제출하고 있지만 사용자에게 화면이 새로 고침되거나 웹 사이트처럼 보이지 않습니다.

데이터베이스 중심 웹 사이트를 가질 수는 있지만 상태가 없을 수는 없습니다.

쿼리 스트링 이 작업을 수행하는 가장 일반적인 방법 중 하나입니다. 예를 들어

http://www.site.com/products/index.aspx?productid=3&page=2&showinactive=n

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top