티스토리 뷰
웹에서 페이지를 이동할 때, 2가지 방법이 있습니다. 바로 Forward와 Redirect입니다.
결론을 먼저 보면 시스템에 따라 두 가지 방식을 적절히 사용하여야 합니다.
- 단순조회 요청(목록, 검색)의 경우 Forward방식으로 응답.
- DB, Session등에 변화가 생기는 요청( 회원가입, 글 작성)의 경우 Redirect방식으로 응답.
-> forward와 Redirect에 대해 알아보고, 위 두가지 방식을 나누는 이유에 대해서 알아보겠습니다.
* Forward 방식
- Forward는 Web Container에서 페이지의 이동만 존재하기 때문에, 클라이언트는 다른 페이지로 이동(요청)을 했는지 알 수가 없습니다.
- 브라우저에는 최초 요청한 URL만이 표시됩니다.
- 현재 실행중인 페이지와 Forward에 호출되는 페이지는 Request객체와 Response객체를 공유합니다.
* Redirect 방식
- Redirect는 해당 URL로 요청이 들어왔을때, 웹 브라우저에게 다른 URL로 이동하라는 명령을 보낼 수 있습니다.
- 해당 과정에서 클라이언트의 요청 URL이 바뀌고 새로운 Request객체와 Response객체를 생성합니다.
* 결론
- Forward는 이동 후에도 요청 정보가 남아 있으므로 만약 글쓰기 페이지에서 사용자가 새로고침을 누르게된다면, 게시글이 여러 개 등록되는 문제가 생길 수 있기 때문에 단순 조회 요청에서 Forward를 사용하여 응답해야 합니다.
- Redirect는 요청 처리후 다른 URL로 이동하여 새로운 요청을 생성해 보내므로 db, session에 변화가 생기는 요청에 Redirect방식으로 응답하는 것이 맞습니다.
'Web' 카테고리의 다른 글
[Web] GET & POST 요청 차이 (2) | 2020.11.30 |
---|
- Total
- Today
- Yesterday
- DP
- 날짜 유효성
- vaild
- 제네릭(Generic)
- for of
- 청소년상어
- 삼각달팽이
- 가장 큰 수
- spring cache
- 삼성기출
- RGB거리
- java
- 39회차
- 카카오 코딩 테스트
- 01타일
- 19236
- 커링
- 키패드 누르기
- 카카오 인턴십
- 오버로딩
- 백준
- 삼성 코테
- yyyy-MM-dd
- 1629
- 프로그래머스
- javascript
- 문자열 압축
- 제네릭 타입
- local cache
- 반례
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |