티스토리 뷰

Web

[Web] Forward와 Redirect의 차이?

hoony__93 2020. 11. 12. 16:29
728x90
반응형

웹에서 페이지를 이동할 때, 2가지 방법이 있습니다. 바로 Forward와 Redirect입니다.

결론을 먼저 보면 시스템에 따라 두 가지 방식을 적절히 사용하여야 합니다.

- 단순조회 요청(목록, 검색)의 경우 Forward방식으로 응답.

- DB, Session등에 변화가 생기는 요청( 회원가입, 글 작성)의 경우 Redirect방식으로 응답.

 

 

-> forward와 Redirect에 대해 알아보고, 위 두가지 방식을 나누는 이유에 대해서 알아보겠습니다.

 

* Forward 방식

 - Forward는 Web Container에서 페이지의 이동만 존재하기 때문에, 클라이언트는 다른 페이지로 이동(요청)을 했는지 알 수가 없습니다. 

 - 브라우저에는 최초 요청한 URL만이 표시됩니다. 

 - 현재 실행중인 페이지와 Forward에 호출되는 페이지는 Request객체와 Response객체를 공유합니다.

  클라이언트 -> URL1 -> URL2 -> 클라이언트 순서로 처리됩니다.

 

 

* Redirect 방식

 - Redirect는 해당 URL로 요청이 들어왔을때, 웹 브라우저에게 다른 URL로 이동하라는 명령을 보낼 수 있습니다. 

 - 해당 과정에서 클라이언트의 요청 URL이 바뀌고 새로운 Request객체와 Response객체를 생성합니다.

  클라이언트 -> URL1-> 클라이언트 -> URL2 -> 클라이언트 순서로 처리됩니다.

 

* 결론

 - Forward는 이동 후에도 요청 정보가 남아 있으므로 만약 글쓰기 페이지에서 사용자가 새로고침을 누르게된다면, 게시글이 여러 개 등록되는 문제가 생길 수 있기 때문에 단순 조회 요청에서 Forward를 사용하여 응답해야 합니다.

 - Redirect는 요청 처리후 다른 URL로 이동하여 새로운 요청을 생성해 보내므로 db, session에 변화가 생기는 요청에 Redirect방식으로 응답하는 것이 맞습니다.

 

728x90
반응형

'Web' 카테고리의 다른 글

[Web] GET & POST 요청 차이  (2) 2020.11.30
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함