2.log

리다이렉트(Redirect)과 포워드(Forward) 차이 본문

HACKING/Bandit+

리다이렉트(Redirect)과 포워드(Forward) 차이

2.log 2023. 3. 30. 21:37
728x90
반응형

 

 

URL 접속 시 리다이렉트 or 포워드가 일어나면 작업중인 페이지가 전환되는데 리다이렉트는 페이지 전환 주체가 클라이언트, 포워드는 서버임

 

이 때, 클라이언트가 주체가 되면 처음 접속 요청한 URL이 아닌 서버에서 응답받은 다른 URL로 재요청을 보내야 하지만 서버가 주체가 되면 클라이언트측에서 요청정보 변경 할 필요 없이 서버측 내부 동작을 통해 최종 응답 바로 받을 수 있음

 

 

Redirect

서버에서 클라이언트가 요청한 URL에 대한 응답으로 다른 URL로의 재접속 명령(300번대 코드) 보냄

 

[ex]

- 클라이언트가(브라우저) a 를 요청하면 서버는 redirect b 를 응답함

- 클라이언트는 b 로 다시 요청 날리고 서버는 c라는 결과 응답

 

>> 클라이언트 측에서 요청이 총 2번 발생, 리소스 변경 여부 확인 가능

 

[특징 및 유의점]

1. URL 변화 확인 가능

2. 웹 브라우저가 다른 URL 에 새로운 요청을 보내는 것이기에 Request / Response 객체 공유 x

3. Req / Res 객체 공유하지 않기에 CREATE, UPDATE, DELETE 처리 가능

 

 

 

Forward

클라이언트가 재요청 해야하는 리다이렉트와 달리 서버 내부에서 모든 동작 처리함

 

[ex]

클라이언트가(브라우저) a 를 요청하면 서버 내부에서 a -> b -> c 로 포워딩 된 리소스 확인한 뒤 결과적으로 c 를 응답함

 

>> 서버측에서 모든 동작을 처리하기 떄문에 클라이언트(웹브라우저)측 요청정보가 그대로 유지됨

 

[특징 및 유의점]

1. URL 변화 확인 불가

2. Request 객체와 Response 객체를 공유함

3. Req / Res 객체가 공유되기에 READ 와 같은 조회 처리 정도만 하는 것이 좋음

 

 

 

 

 

 

 

 

[출처]

 

https://velog.io/@bongf/learned-redirect-forward

 

forward, redirect 차이

1) return, forward, redirect 차이 호눅스 수업 2번에 걸쳐서 설명해줌 1-1) return return : 해당 html을 반환해주겠다는 의미 return은 뭐야. 그냥 모델과 뷰를 리턴해주는 것 ex.return "user"; 하면

velog.io

 

https://twinparadox.tistory.com/613

 

Redirect와 Forward에 대한 간단 비교

모든 내용을 언급하기 앞서 둘의 가장 큰 차이를 딱 하나로 말하라고 하면, 사용자에게(웹 브라우저에서) URL이 변경되어 보이는지 여부일 것이다. Forward Web Container에서의 페이지 이동만 진행되

twinparadox.tistory.com

 

728x90
반응형
Comments