[http] 왜 “HTTP는 상태 비 저장 프로토콜”이라고되어 ​​있습니까?

HTTP에는 HTTP 쿠키가 있습니다. 쿠키는 서버가 사용자 상태, 연결 수, 마지막 연결 등을 추적 할 수 있도록합니다.

HTTP에는 동일한 TCP 연결에서 여러 요청을 보낼 수있는 영구 연결 (Keep-Alive)이 있습니다.



답변

동일한 HTTP 연결을 통해 여러 요청을 보낼 수 있지만 서버는 동일한 소켓을 통해 도착하는 데 특별한 의미를 부여하지 않습니다. 이는 각 요청에 대한 연결을 다시 설정하는 데 소비되는 시간 / 대역폭을 최소화하기위한 성능 일뿐입니다.

HTTP에 관한 한, 이들은 여전히 ​​별도의 요청이며 요청을 이행하기에 충분한 정보를 자체적으로 포함해야합니다. 이것이 “무국적”의 본질입니다. 서버가 알고있는 일부 공유 정보가 없으면 요청이 서로 연결되지 않습니다. 대부분의 경우 쿠키의 세션 ID입니다.


답변

에서 위키 백과 :

HTTP는 상태 비 저장 프로토콜입니다. 상태 비 저장 프로토콜은 서버가 여러 요청 기간 동안 각 사용자에 대한 정보 또는 상태를 유지하도록 요구하지 않습니다.

그러나 일부 웹 응용 프로그램은 예를 들어 웹 서버가 사용자를 위해 웹 페이지의 내용을 사용자 지정해야하는 경우 페이지 간 사용자 진행 상황을 추적해야 할 수 있습니다. 이러한 경우에 대한 솔루션은 다음과 같습니다.

  • HTTP 쿠키 사용.
  • 서버 측 세션
  • 숨겨진 변수 (현재 페이지에 양식이 포함 된 경우)
  • URI로 인코딩 된 매개 변수를 사용하여 URL 재 작성 (예 : /index.php?session_id=some_unique_session_code)

프로토콜을 상태 비 저장 상태로 만드는 이유는 서버가 여러 요청에 대한 상태를 추적 할 필요 가없고 원하는 경우 수행 할 수 없다는 것입니다. 이것은 클라이언트와 서버 사이의 계약을 단순화하며 많은 경우 (예를 들어 CDN을 통해 정적 데이터를 제공하는 경우) 전송해야하는 데이터의 양을 최소화합니다. 클라이언트 방문 상태를 유지하기 위해 서버가 필요한 경우 요청을 발행하고 응답하는 구조가 더 복잡합니다. 모델의 단순성은 가장 큰 특징 중 하나입니다.


답변

상태 비 저장 프로토콜은 서버가 여러 요청 기간 동안 각 통신 파트너에 대한 세션 정보 또는 상태를 유지하도록 요구하지 않기 때문입니다.

HTTP는 상태 비 저장 프로토콜이므로 트랜잭션이 끝나면 브라우저와 서버 간의 연결이 끊어집니다.


답변

HTTPstateless protocol각 요청이 이전에 실행 된 요청에 대한 지식없이 독립적으로 실행되기 때문에 호출됩니다. 즉, 트랜잭션이 종료되면 브라우저와 서버 간의 연결도 끊어집니다.

프로토콜을 만드는 것은 stateless원래 디자인에서 HTTP 가 비교적 간단 하다는 것입니다 file transfer protocol.

  1. URL로 이름이 지정된 파일을 요청하고
  2. 응답으로 파일을 가져옵니다.
  3. 분리하십시오.

동일한 클라이언트에서도 연결간에 관계가 유지되지 않았습니다. 이는 클라이언트와 서버 간의 계약을 단순화하고 많은 경우 전송해야하는 데이터의 양을 최소화합니다.


답변

프로토콜 HTTP가 State full protocol로 제공되면 브라우저 창은 단일 연결을 사용하여 웹 응용 프로그램에 대한 여러 요청에 대해 웹 서버와 통신합니다. 이는 브라우저 창에서 브라우저 창과 웹 서버 간의 연결을 오랫동안 유지하고 유지할 수있는 기회를 제공합니다 클라이언트의 대부분의 연결이 유휴 상태 인 경우에도 웹 서버의 최대 연결에 도달하는 상황이 발생할 수 있습니다.


답변

HTTP는 비 연결형이며 이는 HTTP가 상태 비 저장 프로토콜이라는 직접적인 결과입니다. 서버와 클라이언트는 현재 요청 중에 만 서로를 알고 있습니다. 나중에 둘 다 서로를 잊어 버립니다. 이 프로토콜의 특성으로 인해 클라이언트와 브라우저는 웹 페이지에서 다른 요청간에 정보를 보유 할 수 없습니다.


답변

무국적이란?

요청이 이루어지고 응답이 클라이언트로 다시 렌더링되면 연결이 끊어 지거나 종료됩니다. 서버는 요청자에 대한 모든 것을 잊어 버릴 것입니다.

왜 무국적?

웹은 상태 비 저장 프로토콜을 선택합니다. 웹의 원래 목표는 문서 (웹 페이지)를 매우 크게 제공하지 못하도록하는 것이기 때문에 천재적인 선택이었습니다. 서버에 매우 기본적인 하드웨어를 사용하는 사람들

오래 실행되는 연결을 유지 관리하는 데 많은 리소스가 소모되었을 것입니다.

웹이 상태 저장 프로토콜을 선택한 경우 방문자의 연결을 유지하기 위해 서버의로드가 증가했을 것입니다.