쿠키와 세션의 차이점 요약
이 글은 쿠키와 세션의 차이점을 요약한 것입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
HTTP 상태 비저장 프로토콜
HTTP 상태 비저장 프로토콜은 프로토콜에 트랜잭션 처리를 위한 메모리 능력이 없음을 의미합니다. 상태가 없다는 것은 후속 처리에 이전 정보가 필요한 경우 다시 전송해야 하므로 연결당 전송되는 데이터 양이 증가할 수 있음을 의미합니다. 반면에 서버는 이전 정보가 필요하지 않을 때 더 빠르게 응답합니다. 소개클라이언트 및 서버와 동적으로 상호 작용하는 웹 애플리케이션이 등장한 후
HTTP의 상태 비저장 특성은 이러한 애플리케이션의 구현을 심각하게 방해합니다 . 과거와 미래를 연결해야 합니다. 예, 간단한 장바구니 프로그램도 사용자가 이전에 어떤 제품을 선택했는지 알아야 합니다. 그 결과, 이 HTTP 연결 상태를 유지하기 위한 두 가지 기술이 이 탄생했는데, 하나는 Cookie이고, 다른 하나는 Session#🎜 🎜#입니다. HTTP 자체는 상태 비저장 연결 프로토콜입니다. 클라이언트와 서버 간의 상호 작용을 지원하려면 상호 작용에 대한 상태를 저장하는 다양한 기술이 필요하며 이러한 기술은 Cookie와 Session#🎜🎜 # . 쿠키는 클라이언트를 통해 상태를 유지하기 위한 솔루션입니다. 정의에 따르면, 쿠키는 서버가 클라이언트에게 보내는 특별한 정보이며, 이 정보는 텍스트 파일 형식으로 클라이언트에 저장되며, 클라이언트는개발내가 갈 때마다 특별한 메시지를 가져올 때마다 서버에 요청하세요. 좀 더 구체적으로 설명하자면, 사용자가 브라우저를 사용하여 쿠키를 지원하는 웹사이트에 액세스하면 사용자는 사용자 이름을 포함한 개인 정보를 제공하고 이를 서버에 제출한 다음 서버는 해당 하이퍼바이저를 클라이언트에 반환합니다. 물론 이러한 정보는 HTTP 응답 본문 (응답 본문) 에 저장되지 않습니다. HTTP 응답 헤더(응답 헤더)에 저장됨 ; 클라이언트 브라우저가 서버로부터 응답을 받으면 브라우저는 이 정보를 Windows 운영 체제의 경우 이라는 통합 위치에 저장합니다. 다음에서 저장된 쿠키를 찾을 수 있습니다. [시스템 디스크]:문서 및 설정[사용자 이름]쿠키 디렉토리 이후부터 클라이언트가 서버에 요청을 보내면 해당 쿠키가 다시 서버로 전송됩니다. 이번에는 HTTP 요청 헤더(Request Header)에 쿠키 정보가 저장됩니다. 기울임꼴 텍스트
쿠키와 같은 기술을 구현하면 서버는 클라이언트 브라우저로부터 요청을 받은 후 요청 헤더에 저장된 쿠키를 분석하여 클라이언트별 정보를 얻을 수 있으며 이를 통해 클라이언트 콘텐츠에 해당하는 정보를 동적으로 생성할 수 있습니다. 일반적으로 많은 웹사이트의 로그인 인터페이스에서 "기억해 주세요"와 같은 옵션을 볼 수 있는데, 로그인하기 전에 이를 확인하면 다음에 웹사이트를 방문할 때 반복적이고 번거로운 로그인을 수행할 필요가 없으며, 이 기능은 쿠키를 통해 구현됩니다.Cookie와 반대되는 솔루션은 서버를 통해 상태를 유지하는 Session입니다. 세션이라는 단어에는 많은 의미가 포함되어 있으므로 여기서는 세션의 의미를 명확히 할 필요가 있습니다. 우선, 우리는 일반적으로 세션을 세션으로 변환하여 클라이언트 브라우저와 서버 간의 일련의 대화형 작업을 세션이라고 부를 수 있습니다. 이 의미부터 시작하여 세션 기간, 세션 중에 수행되는 작업 등을 언급합니다. 둘째, 세션은 클라이언트를 위해 서버가 공개하는 저장 공간과 여기에 저장된 정보를 의미합니다. 상태를 유지하기 위해. 이 의미론을 시작으로 세션에 어떤 콘텐츠를 저장할지, 키 값을 기반으로 세션에서 일치하는 콘텐츠를 얻는 방법 등을 언급하겠습니다.
Session을 사용하기 위한 첫 번째 단계는 물론 Session을 만드는 것입니다. 그러면 세션은 언제 생성되나요? 물론, 서버측 프로그램이 실행되는 동안 생성되는데, 다른 언어로 구현된 애플리케이션마다 Session을 생성하는 방법이 다릅니다. Java에서는 HttpServletRequest의 getSession 메소드를 호출하여 생성합니다(true를 매개변수로 사용). . 세션을 생성할 때 서버는 세션에 대한 고유한 세션 ID를 생성하며, 이 세션 ID는 세션이 생성된 후 후속 요청에서 생성된 세션을 다시 얻는 데 사용됩니다. 세션 관련 메서드를 호출하면 콘텐츠가 추가됩니다. 이 내용은 서버에만 저장되며 세션 ID만 클라이언트에 전송됩니다. 클라이언트가 다시 요청을 보내면 이 세션 ID를 가져오고 서버는 해당 세션을 기반으로 찾습니다. 세션 ID를 확인하고 다시 사용하세요. 이러한 과정을 통해 사용자의 상태가 유지됩니다.
요약하자면, HTTP 자체는 클라이언트와 서버 간의 상호 작용을 지원하기 위해 상호 작용에 대한 상태를 저장하는 다양한 기술을 사용해야 하며 이러한 다양한 기술이 바로 쿠키와 세션입니다. .
쿠키
저장 위치쿠키 데이터는 고객의 브라우저에 저장되며 서버는 해당 정보를 알 수 있습니다.사용
만료 시간이 브라우저에 설정되어 있지 않으면 쿠키는 메모리에 저장됩니다. 브라우저가 닫히면 수명 주기가 종료됩니다. 이러한 유형의 쿠키를 세션 쿠키라고 합니다. 쿠키 만료 시간이 브라우저를 초과할 수 없습니다. 서버는 클라이언트 브라우저에 최대에 설정되어 있으면 쿠키는 하드 드라이브에 저장됩니다. 브라우저를 닫은 후에도 쿠키 데이터는 계속 존재하며 만료 시간이 끝날 때까지 사라지지 않습니다. 저장소
단일 쿠키로 저장되는 데이터는 4KB
20개의 쿠키를 저장할 수 있으며, 브라우저는 최대 300개의 쿠키를 저장할 수 있습니다. 쿠키는 문자열 유형만 저장할 수 있습니다. . text쿠키를 삭제하면 로그인할 때마다 해당 로그인 정보를 다시 입력해야 합니다.
application 시나리오 형태의 쿠키 기술에는 4가지 구성 요소가 있습니다. HTTP 응답 메시지에 쿠키 헤더 라인이 있고, HTTP 요청 메시지에 쿠키 헤더 라인이 있습니다. 클라이언트 시스템 쿠키 파일에 저장되어 있으며 웹사이트에 있는 백엔드 데이터베이스에서 사용자가 웹사이트에 로그인했는지 여부를 확인하여 자동 로그인(또는 비밀번호 기억)이 가능하도록 합니다. 다음에 사용자가 로그인할 때
마지막 로그인 시간과 기타 정보를 저장하세요. 마지막으로 본 페이지 저장 방문 횟수 찾아보기쿠키에 경로 매개변수가 설정되어 있으면 동일한 웹사이트의 다른 경로에 있는 쿠키가 서로 접근할 수 없습니다.
단점
데이터 요청을 위한 쿠키 전달
쿠키 데이터는 항상 동일한 소스의 http 요청에서 전달됩니다(필요하지 않은 경우에도). 즉, 쿠키는 브라우저와 서버 간에 앞뒤로 전달됩니다.
새 페이지가 요청될 때마다 쿠키가 사용되므로 대역폭이 낭비됩니다. 또한 쿠키는 범위를 지정해야 하며 도메인 간에 호출할 수 없습니다.
Session
저장 위치세션 데이터는 서버에 저장됩니다. 클라이언트는 해당 정보를 알지 못하지만 특별한 방법(memcache, redis)을 통해 세션을 유지할 수 있습니다.사용 방법
세션은 언제 생성되나요? , 세션 일관성 문제
세션은 일정 기간 동안 서버에 저장됩니다. 접속량이 증가하면 서버 성능을 더 많이 차지하게 되므로 서버 성능을 저하시키기 위해 쿠키를 사용해야 합니다. 클라이언트가 세션 생성을 요청하면 서버는 먼저
클라이언트의 요청 에 세션 식별자 (세션 ID라고 함)가 포함되어 있는지 확인합니다. 만약 그렇다면 이는 세션이 생성되었음을 의미합니다. , 서버는 세션 ID에 따라 이 세션을 검색하고 사용합니다( 검색할 수 없는 경우 새 세션이 생성됩니다 ). 클라이언트에 대해 생성되고 세션 ID와 관련된 세션이 생성됩니다. 세션 ID 값은 반복되지도 않고 모방할 패턴을 찾기도 쉽지 않은 문자열이어야 합니다. 이 응답의 저장을 위한 클라이언트입니다. 이 세션 ID를 저장하는 방법은 쿠키를 사용하여 상호 작용 프로세스 중에 브라우저가 규칙에 따라 이 ID를 서버에 자동으로 보낼 수 있도록 하는 것입니다. 일반적으로 쿠키는 클라이언트에 세션 ID를 저장하는 데 사용됩니다. 상호 작용 중에 브라우저는 규칙에 따라 세션 ID를 서버에 보냅니다. 사용자가 쿠키를 비활성화하는 경우 response.encodeURL(url)을 통해 달성할 수 있는 URL 재작성을 사용해야 합니다. encodeURL에 대한 API의 끝은 브라우저가 쿠키를 지원할 때 URL이 어떤 처리도 수행하지 않는다는 것입니다. 브라우저가 쿠키를 지원하지 않으면 URL이 다시 작성되고 SessionID가 액세스 주소에 추가됩니다.Storage
크기에는 제한이 없습니다
session
세션에 저장되는 것은 객체입니다. 세션은 Hashtable과 유사한 데이터 구조를 통해 저장되며 모든 유형의 객체를 지원할 수 있습니다. 객체)
응용 시나리오 세션은 각 사용자의 개인 정보를 저장하는 데 사용되며 변수 값은 서버 측에 저장되며 서로 다른 고객은 SessionID로 구분됩니다.
온라인몰 장바구니
- 사용자 로그인 정보 저장
- 특정 데이터를 세션에 넣어 동일 사용자의 다른 페이지에서 사용 가능
- 사용자의 불법 로그인 방지
- 접속
- 세션에서는 경로를 구분할 수 없습니다. same one 사용자가 웹사이트를 방문하는 동안 모든 세션은 어디에서나 액세스할 수 있습니다.
위 내용은 쿠키와 세션의 차이점 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











브라우저는 어떤 폴더에 동영상을 캐시하나요? 우리는 매일 인터넷 브라우저를 사용하다 보면 유튜브에서 뮤직비디오를 보거나 넷플릭스에서 영화를 보는 등 다양한 온라인 동영상을 자주 보게 됩니다. 이러한 비디오는 나중에 다시 재생할 때 빠르게 로드할 수 있도록 로드 프로세스 중에 브라우저에 의해 캐시됩니다. 그렇다면 문제는 캐시된 동영상이 실제로 어느 폴더에 저장되어 있느냐는 것입니다. 브라우저마다 캐시된 비디오 폴더를 다른 위치에 저장합니다. 아래에서는 몇 가지 일반적인 브라우저와 해당 브라우저를 소개합니다.

DNS(DomainNameSystem)는 인터넷에서 도메인 이름을 해당 IP 주소로 변환하는 데 사용되는 시스템입니다. Linux 시스템에서 DNS 캐싱은 도메인 이름과 IP 주소 간의 매핑 관계를 로컬로 저장하는 메커니즘으로, 도메인 이름 확인 속도를 높이고 DNS 서버의 부담을 줄일 수 있습니다. DNS 캐싱을 사용하면 시스템이 매번 DNS 서버에 쿼리 요청을 보낼 필요 없이 이후에 동일한 도메인 이름에 액세스할 때 IP 주소를 신속하게 검색할 수 있으므로 네트워크 성능과 효율성이 향상됩니다. 이 문서에서는 Linux에서 DNS 캐시를 보고 새로 고치는 방법과 관련 세부 정보 및 샘플 코드에 대해 설명합니다. DNS 캐싱의 중요성 Linux 시스템에서 DNS 캐싱은 중요한 역할을 합니다. 그 존재

Guava Cache 시작하기: 애플리케이션 속도 향상 Guava Cache는 애플리케이션 성능을 크게 향상시킬 수 있는 고성능 인메모리 캐싱 라이브러리입니다. LRU(최근에 사용됨), LFU(최근에 사용됨), TTL(Time to Live)을 포함한 다양한 캐싱 전략을 제공합니다. 1. Guava 캐시를 설치하고 프로젝트에 Guava 캐시 라이브러리의 종속성을 추가합니다. com.goog

제목: HTML 파일의 캐싱 메커니즘 및 코드 예제 소개: 웹 페이지를 작성할 때 브라우저 캐싱 문제에 자주 직면합니다. 이 기사에서는 HTML 파일의 캐싱 메커니즘을 자세히 소개하고 독자가 이 메커니즘을 더 잘 이해하고 적용할 수 있도록 몇 가지 특정 코드 예제를 제공합니다. 1. 브라우저 캐싱 원리 브라우저에서는 웹페이지에 액세스할 때마다 먼저 캐시에 웹페이지 복사본이 있는지 확인합니다. 있는 경우 웹페이지 콘텐츠를 캐시에서 직접 가져옵니다. 이것이 브라우저 캐싱의 기본 원칙입니다. 브라우저 캐싱 메커니즘의 이점

PHPAPCu(php 캐시 대체)는 PHP 애플리케이션을 가속화하는 opcode 캐시 및 데이터 캐시 모듈입니다. 잠재력을 최대한 활용하려면 고급 기능을 이해하는 것이 중요합니다. 1. 일괄 작업: APCu는 동시에 많은 수의 키-값 쌍을 처리할 수 있는 일괄 작업 방법을 제공합니다. 이는 대규모 캐시 삭제 또는 업데이트에 유용합니다. //일괄적으로 캐시 키 가져오기 $values=apcu_fetch(["key1","key2","key3"]) //일괄적으로 캐시 키 지우기 apcu_delete(["key1","key2","key3"]) ;2 .캐시 만료 시간 설정: APCu를 사용하면 캐시 항목의 만료 시간을 설정하여 지정된 시간 후에 자동으로 만료되도록 할 수 있습니다.

PHP 개발에서 캐싱 메커니즘은 자주 액세스하는 데이터를 메모리나 디스크에 임시 저장하여 데이터베이스 액세스 횟수를 줄여 성능을 향상시킵니다. 캐시 유형에는 주로 메모리, 파일 및 데이터베이스 캐시가 포함됩니다. 캐싱은 내장 함수나 캐시_get() 및 Memcache와 같은 타사 라이브러리를 사용하여 PHP에서 구현할 수 있습니다. 일반적인 실제 응용 프로그램에는 쿼리 성능을 최적화하기 위한 데이터베이스 쿼리 결과 캐싱과 렌더링 속도를 높이기 위한 페이지 출력 캐싱이 포함됩니다. 캐싱 메커니즘은 웹사이트 응답 속도를 효과적으로 향상시키고, 사용자 경험을 향상시키며, 서버 부하를 줄입니다.

캐시 크기 및 정리 전략 최적화 APCu에 적절한 캐시 크기를 할당하는 것이 중요합니다. 캐시가 너무 작으면 데이터를 효과적으로 캐시할 수 없고, 캐시가 너무 크면 메모리가 낭비됩니다. 일반적으로 캐시 크기를 사용 가능한 메모리의 1/4~1/2로 설정하는 것이 합리적인 범위입니다. 또한 효과적인 정리 전략을 사용하면 오래되거나 유효하지 않은 데이터가 캐시에 저장되지 않습니다. APCu의 자동 청소 기능을 사용하거나 사용자 정의 청소 메커니즘을 구현할 수 있습니다. 샘플 코드: //캐시 크기를 256MB로 설정 apcu_add("cache_size",268435456) //60분마다 캐시 지우기 apcu_add("cache_ttl",60*60);

브라우저 캐시 동영상을 내보내는 방법 인터넷의 급속한 발전으로 동영상은 사람들의 일상생활에서 없어서는 안 될 부분이 되었습니다. 웹을 탐색할 때 저장하거나 공유하고 싶은 비디오 콘텐츠를 자주 접하지만 비디오 파일이 브라우저의 캐시에만 존재할 수 있기 때문에 비디오 파일의 소스를 찾을 수 없는 경우가 있습니다. 그렇다면 브라우저 캐시에서 비디오를 어떻게 내보내나요? 이 기사에서는 몇 가지 일반적인 방법을 소개합니다. 먼저 브라우저 캐시라는 개념을 명확히 해야 합니다. 브라우저 캐시는 브라우저에서 사용자 경험을 개선하는 데 사용됩니다.
