알다시피 POST 메서드는 멱등수가 아닙니다. 사용자가 짧은 시간에 여러 요청을 보내면 작업이 반복됩니다. 예를 들어
: 제출을 만들 수여러 서버에서 POST 요청을 일시적으로 멱등 원하게 유지하려면 어떻게해야합니까?
- POST 요청은 사용자에 의해 호출됩니다.
- 비슷한 제출이 서버에 허용되므로 사용자가 동일한 요청을 두 번 보내면 고유 제약 조건 위반으로 인해 두 번째 요청이 실패하지 않습니다.
- 사용자가 실수로 두 개의 요청을 보내서 두 개의 동일한 리소스를 만듭니다 (자동 생성 된 리소스 ID 제외).
내 서버의 크기를 조절할 수 있도록하려면 어떻게해야합니까? 한 인스턴스 만있는 경우 사용자가 동일한 서버에서 유사한 요청을 일시적으로 완료하지 못하게하는 임시 시간 초과 목록을 서버에 추가 할 수 있습니다. 그러나 요청이 다른 서버 인스턴스로 전달 된 경우이 서버는 시간 초과 목록에 사용자를 가지지 않고 두 번째 요청을 올바르게 처리합니다.
일시적 제출 단추가 비활성화되어있어 사용자가 한 번에 하나의 요청 만 보낼 수 있도록 클라이언트 측에서 구현할 수 있다는 것을 알고 있습니다. 그러나 서버 측에서이를 처리 할 수있는 방법이 있습니까?
버튼을 처음 클릭하면 일시적으로 버튼을 사용 중지하면 쉽게 해결할 수 있습니다. 서버 측 보호를 원하는 이유 중 하나는 악의적 인 에이전트의 스팸을 방지하고 사용자를 일시적으로 차단하는 서버 측 기능을 최적의 솔루션처럼 보이게하는 것입니다. – Potatosaurus