리다이렉션이란 무엇일까?
리다이렉션(Redirection)이란 URL(Uniform Resource Locator)을 재작성하고 클라이언트의 브라우저에게 다른 URI(Unified Resource Identifier)에 다시 요청하도록 지시하는 HTTP 프로토콜 메시지입니다.
일반적으로 리다이렉션은 웹 사이트의 URL을 영구적으로 또는 일시적으로 변경해야하는 경우에 사용됩니다. 이를 통해 이전 URL이 자동으로 이동하고 새 URL로 이어져도 이전 URL에 대한 요청을 유지할 수 있습니다. 리다이렉션은 사용자가 이전 URL을 입력하거나 이미 사라진 예전 페이지(ex: 북마크)를 클릭하더라도 새 URL로 자동으로 이동할 수 있도록 도와줍니다.
영구적인 리다이렉션
영구적인 리다이렉션과 일시적인 리다이렉션은 URL을 영구적으로 또는 일시적으로 변경하려는 경우에 사용됩니다.
예를들어 "301 Moved Permanently"은 이전 URL이 새 URL로 완전히 이동될 경우에 사용됩니다. 이러한 리다이렉션은 검색 엔진에게 새 URL을 사용하도록 권장하며, 검색 엔진은 이전 URL에서 새 URL로의 이전을 인식하고 기존 검색 엔진 결과와 랭킹을 새 URL로 이전합니다.
일시적인 리다이렉션
일시적인 리다이렉션 "307 Temporary Redirect"은 새 URL로 임시로 이동할 때 사용됩니다. 이러한 리다이렉션은 검색 엔진에게 이전하지 않고 이전된 URL의 색인 및 랭킹 포인트를 유지합니다. 일반적으로 웹 사이트 유지보수 및 업데이트를 수행하는 동안 사용자가 시스템에 계속 액세스 할 수 있도록 하는 데 사용됩니다.
304 리다이렉션
304 리다이렉션은 실제로는 리다이렉션을 수행하지 않고, 이전한 리퀘스트가 성공적이며, 로컬에서 캐시된 문서를 사용하도록 권장하는 HTTP 응답입니다.
304 리다이렉션은 HTTP 클라이언트가 서버에 새로운 리소스를 요청할 필요 없이 이전에 받은 리소스를 사용할 수 있도록 설정하기 때문에 이전에 캐시된 리소스는 온라인 리소스보다 빠르고 효율적으로 로드되므로 리소스 로딩 성능을 개선하기 위해 자주 사용됩니다.
이러한 리다이렉션은 웹 서버가 If-Modified-Since 헤더와 Last-Modified 헤더를 비교하여 캐시된 리소스가 변경되지 않았거나 if-none-match 와 Etag 헤더 를 비교하여 변경되지 않은 경우에 접속이 가능합니다. 변경이 발생하지 않은 경우 304 응답이 반환되며, 클라이언트는 이전에 저장된 문서를 사용할 수 있습니다. 이전에 저장된 문서가 캐시 된 지점에서 이미 삭제된 경우, 서버는 새로운 문서를 반환하기 위해 클라이언트의 요청을 처리할 것입니다.
'CS > Network' 카테고리의 다른 글
[ Web Server ] 아파치 (Apache)란 무엇일까? (0) | 2023.09.01 |
---|---|
[ HTTP ] HTTP 콘텐츠 협상이란 무엇일까? (0) | 2023.07.12 |
[ HTTP ] HTTP 상태코드 들을 알아보자 (0) | 2023.07.04 |
[ HTTPS ] HTTPS란 무엇일까? (0) | 2022.11.17 |
[네트워크] REST API(Representational State Transfer)의 이해 (1) | 2022.10.04 |