Search

Redirect와 Forward의 차이점

Created time
2023/01/16 05:59
Modified
2023/01/16 07:55
Tags
network

Redirect

예시

1.
Client → Server 최초 요청
2.
Client ← Server 새로운 URL 응답
3.
Client → Server 새로운 URL로 재요청 (새로운 요청정보로 요청)
4.
Client ← Server 응답

사용하는 경우

최초 요청 정보는 Server에 반영되지 않습니다. URL 정보는 최초 요청이후에 전달된 New URL로 변경되어 요청해야합니다.
시스템(Session, DB)에 변화가 생기는 요청(로그인, 회원가입, 글쓰기)의 경우 Redirect 방식이 적절 사용자가 보낸 정보를 이용하여 글쓰기 기능을 사용하면, Forward 경우 요청 정보에 대한 객체가 그대로 있기에 글이 중복 등록될 수 있습니다. 하지만 Redirect 경우 처음 글을 작성할 때 보냈던 요청정보는 존재하지 않고 새롭게 응답된 URL로 다시 요청해야합니다. 그렇기에 글쓰기가 여러번 수행되지 않습니다.

Forward

예시

1.
Client → Server 최초 요청
2.
Server → Server 새로운 URL로 재요청 (최초 요청의 요청정보를 그대로 재활용)
3.
Client ← Server 응답

사용하는 경우

최초 요청 정보가 Server에 전달되어 사용됩니다. URL 정보는 요청이 처리될 때까지 동일하게 유효합니다. 시스템에 변화가 생기지 않는 단순조회(리스트, 검색)의 경우 Forward 방식이 적절 사용자가 상품과 같은 리스트를 보기위해 요청하는 경우에는 시스템에 영향을 주지 않기에 Forward를 통해서 기능을 제공해도 큰 문제 없습니다.