추천 튜토리얼:PHP 튜토리얼
세션 작동 원리
1.
사용자가 서버에 액세스할 때 서버 세션이 활성화되면 서버는 사용자를 위한 SESSION을 생성합니다. 이 SESSION을 생성할 때 서버는 먼저 사용자가 보낸 요청에 SESSION ID가 포함되어 있는지 확인합니다. 이전에 로그인한 사용자에 대해 SESSION이 생성된 경우 서버는 SESSION ID에 따라 서버 메모리에서 SESSION을 검색합니다. 클라이언트의 요청에 SESSION ID가 포함되어 있지 않으면 클라이언트에 대한 SESSION이 생성됩니다. 이 SESSION과 관련된 SESSION ID가 생성됩니다. 이 SESSION ID는 고유하고 반복되지 않으며 찾기 어려운 일반 문자열입니다. 이 SESSION ID는 이 응답에 저장하기 위해 클라이언트에 반환되며, 상호 작용 중에 이 SESSION ID를 저장하는 것은 COOKIE입니다. 브라우저는 규칙에 따라 이 식별자를 서버에 자동으로 보낼 수 있습니다.
2. 세션 사용
IE에서는 도구의 인터넷 옵션에서 쿠키를 비활성화할 수 있다는 것을 알고 있습니다. 그러면 클라이언트의 쿠키가 비활성화되고 SESSIONID를 더 이상 사용할 수 없습니다. ? COOKIE가 비활성화된 경우에도 세션 ID를 서버에 다시 전달할 수 있는 다른 메커니즘이 있을 수 있음을 나타내는 일부 정보를 발견했습니다.
자주 사용되는 기술을 URL 재작성(URL Rewriting)이라고 하는데, 세션 ID를 URL 경로의 추가 정보로 URL 경로 뒤에 직접 추가하는 기술로,
http://… . /xxx;jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng! -145788764;
다른 하나는
http://… 형식의 쿼리 문자열로 URL에 추가됩니다. . /트리플 엑스? jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng! -145788764
또 다른 유형은 숨겨진 필드 형식입니다. 즉, 서버는 자동으로 양식을 수정하고 양식이 제출될 때 세션 ID가 서버로 다시 전달될 수 있도록 숨겨진 필드를 추가합니다.
세션 역할
세션의 기본 역할은 사용자 및 서버 세션에 대한 일부 정보를 서버 측에 저장하는 것입니다. 일반적인 응용 프로그램은 다음과 같습니다.
1. 사용자가 로그인했는지 확인합니다.
2. 장바구니 기능.
세션 인스턴스 문제
기존 시스템 A와 B는 독립적으로 실행될 수 있는 웹 시스템, 즉 브라우저와 직접 세션을 처리할 수 있다고 가정합니다. 모바일 기반이므로 시스템 A의 기능적 인터페이스를 호출해야 합니다.
시스템 B는 A를 변경하지 않은 채 프런트엔드 사용자의 요청을 처리할 수 있습니다. 즉, 로그인 확인 및 세션 저장 공간은 변경되지 않습니다.
여기서 제공되는 솔루션은 PHP를 사용하여
사용자가 성공적으로 로그인한 후 저장된 세션의 세션 ID가 시스템 B로 반환되고 시스템 B는 매번 세션 ID를 가져오는 것입니다. 다른 인터페이스를 요청합니다.
A시스템은 session_start 전에 session_id(session_id)를 추가합니다.
이런 식으로 시스템 B는 A를 안전하게 호출할 수 있습니다.)
위 내용은 세션 작동 방식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!