2013-04-18 1 views
1

HTTP POST를 사용하여 페이지를 제출할 때 브라우저 뒤로 버튼을 사용할 수없는 이유는 무엇입니까? 하지만 HTTP GET은 괜찮습니까? 브라우저에서 BACK과 RELOAD의 차이점을 알 수 없기 때문에 브라우저가 여러 POSTS (서버에 대한 여러 업데이트를 방지하기 위해)를 막으려 고합니다. 브라우저가 BACK과 RELOAD 사이를 어떻게 구분할 수 있습니까?HTTP POST에서 뒤로 버튼이 작동하지 않는 이유는 무엇입니까?

답변

3

Back은 서버로가는 특별한 요청이 아닙니다. 뒤로 버튼을 누르면 이전 페이지로 이동합니다. 탐색 막대에 URL을 입력하고 이동하면됩니다. 이는 서버의 관점에서 볼 때 기본 페이지 요청과 동일한 재로드와 실제로 동일한 것입니다. 그것들은 모두 GET 요청입니다.

게시물을 사용하는 페이지를 다시 방문하면 가져 오기 대신 게시물을 다시 보냅니다. 일반적으로 브라우저는 이에 대한 보호 기능을 내장하고 있습니다 ("돌아가시겠습니까? 브라우저가 이전에 제출 한 정보를 다시 보냅니다").

게시물을 다시로드하지 않는 이유는 말했듯이 서버에 해당 페이지를 가져 오는 데 사용 된 정보를 다시 보내려하지 않기 때문입니다. 게시물을 두 번 게시하거나 두 번 사기 때문에 어떤 것.