PRG 패턴

이한수·2022년 5월 30일
0
post-thumbnail

1.알아보게 된 이유?

프로젝트를 만드는 도중 , 게시글 등록 부분 이었다.
실수로 등록 직 후 바로 새로 고침으로 인한
같은 게시글 등록 발생.

새로 고침 한 횟수 만큼 추가로 계속 등록.

2.원인?

새로 고침을 할 경우 가장 최근에 요청한 URL 경로로 재요청을 한다.

3.해결

PRG 패턴을 적용하여 해결.

PRG ?
Post - Redirect - Get 방식을 의미.

(이전 코드)

java

return "/board/list";

(이후 코드)

java

return "redirect:/board/read";

redirect하여 get방식으로 재요청을 한다.
재요청을 하면서 목록으로 가는 대신에 , 작성 게시글을 볼 수 있도록 경로를 변경하였다.

4.어떻게 동작?

redirect를 사용할 경우 , HTTP메세지는 3xx 응답코드를 반환하면서 Location이라는 헤더에
/board/list
라는 경로를 담아 보낸다.

브라우저는 이를 받으면 , 응답코드와 Location 헤더를 확인한 뒤에 서버에 해당 경로로 요청을 한다.

profile
성실하게

0개의 댓글