해결된 질문
21.05.28 21:32 작성
·
796
답변 2
3
2021. 05. 30. 15:10
안녕하세요!
강좌 잘 들어주셔서 감사합니다
질문 확인했습니다.
해당 질문에 답변 드리자면,
F5를 누를 때 다시 POST 방식으로 계속 정보가 전달되는 이유를 파악하기 위해선
일단 브라우저 새로고침이 어떤식으로 이루어지는지 알아야 합니다.
브라우저 새로고침 버튼을 누르게 되면,
말 그대로 현재 페이지를 새로고칩니다.
질문주신 해당 상황에서 현재 페이지는 어떤 페이지를 지칭할까요?
POST 방식으로 만들어진 hello_world 경로입니다.
조금 헷갈리실수도 있겠지만,
꼭 HTTP GET 방식으로 만들어진 페이지만이 페이지가 아닙니다.
POST 방식으로도 페이지가 만들어질 수 있습니다.
그렇기 때문에 현재 페이지가 POST로 만들어진 페이지인데,
해당 페이지에서 새로고침을 누르게 되면,
서버에 계속 POST 요청을 보내게 되는 것이죠.
그렇기 때문에 해당 부분,
데이터 저장을 완료한 이후,
HttpResponseRedirect 문을 사용해
GET 방식의 페이지로 재연결 시켜주는 것입니다.
그렇게 재연결된 상태에서의
현재 페이지는 GET 방식으로 만들어진 hello_world 경로가 되며,
새로고침을 해도 POST 요청을 보내지 않게 되는거죠.
답변이 도움이 되셨다면 좋겠네요.
그럼에도 이해가 되지 않으시거나, 궁금증이 해결되지 않는다면,
계속 질문 남겨주시길 바랍니다.
감사합니다!
좋은하루 보내세요-
1