2011-03-01 5 views
3

HTTP의 세션은 상태 비 저장이므로 상태를 유지하기 위해 쿠키, URL 재 작성 등과 같은 메소드가 있습니다.웹을 실행하는 상태 저장 프로토콜을 사용할 수없는 이유는 무엇입니까?

내 질문은 상태가 매우 중요하기 때문에 디자이너가 HTTP 프로토콜을 설계하는 동안 왜 그만 두었습니까? 특별한 이유가 있습니까?

프로토콜을 상태 기반으로 만들기 위해 다시 디자인해야 할 가치가 있습니까?

+4

웹은 인터넷이 아니라 웹을 의미합니다. 전체 인터넷이 아닌 HTTP를 사용하는 웹입니다. –

+0

질문에 대한 답변을 수락하지 않았습니다. 그걸 수정해야합니다 ... –

+0

고정. 감사 . – vinoth

답변

0

HTTP가 발명되었을 당시 아무도 생각하지 못했습니다. HTTP가 지금과 같은 방식으로 사용된다는 예견이있었습니다.

2

Gopher protocol에 대한 다음 단계는 HTTP입니다. Geocities가있는 곳이었고 CGI 형식은 대화식 세션의 높이였습니다.

그렇듯이 상태는 HTTP보다 높은 수준으로 유지되며 쿠키 (세션 ID 등)가 제대로 작동하는 것 같습니다. 왜 프로토콜을 다시 작성하겠습니까?

0

홈페이지 이유는 확장 성 및 웹 애플리케이션의 고 가용성이며, 왜 우리는 웹을 실행 상태 프로토콜을 가질 수 없습니다. 상태 자체가 서버에 저장 될 필요가 없으므로 Stateless 프로토콜은 복제 및 확장 성 문제를 완화합니다. HTTP 및 HTTPS는 웹 응용 프로그램의 상태 비 저장 프로토콜입니다. 상태가없는 HTTP 요청은 언제든지 모든 노드로 보낼 수 있지만 상태가없는 경우에는 그렇지 않습니다. 상태없는 HTTP 프로토콜의 이점은 활성 웹 클라이언트의 수가 훨씬 클 수 있지만 요청은 일반적으로 같은 순간에 모두 전송되는 대신 시차를두고 발생한다는 것입니다.

연결이 끊어지면 잃어버린 상태가 없습니다. 단순한 요청 재전송은 보안상의 악몽이지만 각 요청은 새로운 요청으로 취급되고 후속 조치로 처리되지 않으므로 문제가 해결됩니다. 이전 요청.

무국적자는 웹 보안에 정말로 나쁩니다. HTTP의 장점은 웹 서버가 웹 클라이언트 활동의 메모리 (상태)를 유지하지 않는다는 것입니다. 형편없는 웹 보안 취약점은 창안 이래 존재 해 왔으며 시간이 지남에 따라 더욱 위험 해졌습니다. Douglas Crockford는 Seif project으로 웹 보안 취약점을 해결했습니다.

관련 문제