Hostwinds 블로그


307 임시 리디렉션 : 그것이 무엇인지, 언제/사용 방법 나타난 그림

307 임시 리디렉션 : 그것이 무엇인지, 언제/사용 방법

으로: Hostwinds Team  /  행진 29, 2024


307 상태 코드는 무엇입니까?

307 임시 리디렉션은 요청 된 리소스 (예 : 웹 페이지)가 일시적으로 다른 URL로 전환되었음을 나타내는 HTTP 응답 상태 코드입니다.그러나 302 (발견) 또는 303 (다른 사람 참조)과 같은 유사한 임시 리디렉션 상태 코드와 달리 클라이언트 (예 : 웹 브라우저)는 원래 요청과 마찬가지로 새 URL에 대해 동일한 HTTP 요청 방법을 계속 사용하라는 지시를받습니다..

간단히 말해서 서버가 브라우저의 요청에 따라 307 상태 코드를 보낼 때 요청 된 리소스가 다른 URL로 임시로 이동했음을 의미합니다.브라우저는 리디렉션을 따르고 새 URL에 액세스 할 때 원래 URL에 사용 된 것과 동일한 HTTP 요청 방법을 사용해야합니다.

307 상태 코드를 사용하는시기

서버가 클라이언트 (브라우저)가 새 URL로 리디렉션 될 때 동일한 요청 방법을 계속 사용하기를 원하는 여러 가지 이유가 있습니다. 대부분은 보안을 중심으로하고 일관된 사용자 경험을 유지합니다.

307 상태 코드를 효과적으로 활용할 수있는 몇 가지 시나리오는 다음과 같습니다.

인증 및 승인 : 클라이언트가 인증 또는 승인이 필요한 리소스로 요청을 보내면 서버는 로그인 또는 권한 부여 페이지의 URL과 함께 307 상태 코드로 응답 할 수 있습니다.이를 통해 클라이언트가 메소드를 변경하지 않고 성공적인 인증 후 원래 요청 (예 : 게시물)을 다시 제출하도록합니다.

양식 제출 : 양식 제출이 관련된 웹 애플리케이션에서 전자 상거래 체크 아웃 프로세스 또는 온라인 설문 조사, 사용자를 일시적으로 리디렉션 해야하는 경우 (예 : 세션 만료 또는 유효성 검사 오류로 인해) 307 상태 코드를 사용하여 양식 제출 방법의 무결성을 유지할 수 있습니다.

임시 사이트 유지 보수 또는 가동 중지 시간: 웹 사이트의 임시 유지 보수 또는 가동 중지 시간 동안 서버는 들어오는 요청을 임시 페이지로 리디렉션해야 할 수도 있습니다.서버는 307 상태 코드를 사용함으로써 클라이언트가 HTTP 방법을 변경하지 않고 리디렉션을 따르도록 보장하여 유지 보수가 완료되면 원래 리소스로 완벽하게 전환 할 수 있습니다.

리소스 위치 처리: 리소스가 서버 또는 다른 서버의 다른 위치로 일시적으로 이동했지만 향후 원래 위치로 돌아갈 것으로 예상되는 경우 307 상태 코드는 클라이언트를 사용하여 임시 재배치에 대해 정보를 제공하는 데 도움이 될 수 있습니다.원래 요청 방법.

307 리디렉션 사용을 피할 때

307 개의 상태 코드는 보안을 유지하고 사용자 경험을 유지하는 데 도움이 될 수 있지만 전체 사이트에서 사용되는 것은 확실히 응답 코드가 아닙니다.실제로 올바른 시나리오에서 사용되지 않으면 307 리디렉션은 사이트 기능 및 사용자 경험에 부정적인 영향을 줄 수 있습니다.

다음은 307 리디렉션을 피할시기의 몇 가지 예입니다.

영구 URL 변경 : 검색 엔진은 307 리디렉션을 임시로 해석하므로 리디렉션이 장기적으로 영향을 미치도록하려는 경우 SEO링크 지분을 새 URL로 전달하는 것과 같은 307 리디렉션은이를 방해 할 수 있습니다.

301 리디렉션은 한 URL을 다른 URL로 영구적으로 이동하려는 의도가있을 때 사용해야하는 유일한 상태 코드입니다.

현장 전체 리디렉션 : 사이트 전체 또는 벌크 리디렉션에 307 개의 상태 코드를 사용하면 특히 교통량이 많은 사이트의 경우 서버 성능에 영향을 줄 수 있습니다.많은 수의 임시 리디렉션을 처리하면 서버의 리소스를 졸고 사이트의 응답 시간을 늦출 수 있으며 궁극적으로 SEO 및 사용자 경험을 해칠 수 있습니다.

307 리디렉션을 사용하면 혜택을 볼 수있는 웹 사이트

대부분의 웹 사이트는 어떤 이유로 든 307 상태 코드를 활용할 수 있지만, 눈에 띄는 사람은 거의 없습니다.

전자 상거래 플랫폼 : 쇼핑 카트, 체크 아웃 프로세스 및 사용자 계정이 포함 된 웹 사이트는 인증, 결제 처리 또는 임시 유지 보수 중에 307 개의 리디렉션으로 이익을 얻을 수 있습니다.

웹 응용 프로그램 : 온라인 서비스, 생산성 도구 또는 협업 플랫폼을 제공하는 사이트는 307 개의 리디렉션을 사용하여 사용자 세션을 유지하거나 양식 제출을 보존하거나 임시 자원의 재배치를 처리 할 수 있습니다.

회원 또는 가입 서비스 : 멤버십 사이트, 구독 기반 플랫폼 또는 컨텐츠 관리 시스템과 같은 사용자 인증 또는 승인이 필요한 웹 사이트는 307 개의 리디렉션을 활용하여 사용자 세션을 관리하고 보호 된 리소스에 완벽하게 액세스 할 수 있습니다.

온라인 양식 및 설문 조사 : 사용자 입력 및 제출이 필요한 웹 사이트를 호스팅하는 양식 또는 설문 조사는 사용자 제출 데이터를 보존하는 동안 유효성 검사 오류, 인증 요구 사항 또는 임시 중단을 처리하기 위해 307 개의 리디렉션을 사용할 수 있습니다.

소셜 미디어 플랫폼 : 사용자 생성 컨텐츠, 메시징 기능 또는 대화식 요소가 장착 된 플랫폼은 307 개의 리디렉션을 통해 세션 컨텍스트를 유지하거나 임시 리소스 변경을 처리하거나 사용자 경험을 방해하지 않고 인증 프로세스를 관리 할 수 있습니다.

307 임시 리디렉션 대 307 내부 리디렉션

"307 내부 리디렉션"이라는 용어는 다른 유형의 307 리디렉션, 특히 사이트의 HTTP 버전에서 HTTPS 버전으로 브라우저를 지시하는 프로세스와 관련이 있습니다.

Chrome과 같은 브라우저는 "307 내부 리디렉션"으로 HTTP를 HTTP로 리디렉션 할 수 있지만 제안 된 동작은 단순히 존재하지 않습니다.

"내부 리디렉션"이라는 용어는 일반적으로 서버 측 프로세스를 나타냅니다. 웹 서버 내부적으로 클라이언트 (브라우저)가 리디렉션을 인식하지 않고 동일한 서버 내의 다른 리소스 또는 위치로 요청을 리디렉션합니다.그러나이 개념은 특히 307 상태 코드와 관련이 없습니다.307을 포함한 다양한 HTTP 상태 코드에 적용 할 수 있습니다.

간단히 말해서 "307 임시 리디렉션"및 "307 내부 리디렉션"은 동일한 것을 참조하지만 HTTP를 HTTP로 리디렉션하는 것과 관련이 없습니다.

HTTP에서 HTTP 로의 리디렉션은 일반적으로 적절한 경우 301 (영구적으로 이동) 또는 302 (발견)와 같은 상태 코드를 사용하여 구현됩니다.

301 리디렉션은 HTTP 트래픽을 HTTP로 영구적으로 리디렉션하는 데 사용되는 표준 상태 코드입니다.

302, 303 및 307 사이의 차이

302, 303 및 307은 3xx 상태 코드 범위 내에서 세 가지 유형의 임시 리디렉션이며, 각각 클라이언트 (브라우저)로부터 HTTP 요청을 처리하고 게시 할 때 고유 한 기능을 수행합니다.

이 섹션은 일반적인 고객이 각 유형의 임시 리디렉션 응답에 어떻게 응답하는지, 특히 처음에 게시물 요청을 한 후에 초점을 맞출 것입니다.

get-post-request-temporary-redirect-process.webp
GET 요청이란 무엇입니까?

브라우저에서 GET 요청은 웹 서버에서 웹 페이지를 요청/검색하는 데 사용됩니다.사용자가 링크 클릭을 통해 웹 페이지를 방문하거나 주소 표시 줄에서 URL을 입력하려는 경우 브라우저는 웹 서버에 GET 요청을 보내 지정된 웹 페이지를 제공하도록 요청합니다.

사후 요청이란 무엇입니까?

포스트 요청은 사용자가 양식 제출 또는 파일 업로드와 같은 데이터를 웹 서버에 제출하여 웹 페이지와 상호 작용할 때 발생합니다.그런 다음이 데이터는 서버에서 처리하거나 저장하여 웹 페이지가 사용자의 입력에 따라 특정 작업을 수행 할 수 있습니다.

302 리디렉션

클라이언트 (브라우저)가 웹 서버에서 302 응답을 만나면 서버가 제공 한 새 URL에 액세스하기위한 GET 요청을 후속 조치를 취합니다.이것은 클라이언트의 원래 요청이 얻거나 게시되었는지 여부에 관계없이 발생합니다.

클라이언트가 원래 게시물 요청을 보낸 경우 문제가 발생할 수 있습니다.

예를 들어, 사용자가 구매 양식, 게시물 요청을 사용하여 구매 양식과 같은 정보를 제출하고 서버가 302 리디렉션으로 응답하는 경우 브라우저는 자동으로 GET 요청을 보냅니다.결과적으로 원래 게시물 요청의 정보가 처리를 위해 서버에 도달하지 못할 수 있습니다.

303 리디렉션

303 리디렉션 기능과 유사하게 302 리디렉션 원래 요청 메소드에 관계없이 클라이언트가 GET 메소드를 후속 조치로 추적함으로써.

그러나 원래 요청이 사후 요청 인 경우 303 리디렉션 응답은 클라이언트가 서버로 전송하기 전에 후속 조치 요청을 확인하도록 요구합니다.

또한 302 개의 리디렉션과 마찬가지로 데이터 제출 웹 페이지 (예 : 양식 작성 및 파일 업로드)에 303 개의 리디렉션을 사용하면 단편화되거나 손실 될 수 있습니다.

307 리디렉션

302 및 303 리디렉션과 달리 307 리디렉션은 리디렉션 후 원래 요청 방법 (GET 또는 POST)을 보존합니다.간단히 말해서, 사후 요청은 게시물 요청으로 유지되며 GET 요청은 리디렉션 후 GET 요청으로 유지됩니다.

이로 인해 307 리디렉션은 웹 서버에 데이터 제출을위한 최상의 선택이됩니다. 보안 전송 및 클라이언트에서 서버로의 정확한 정보를 정확하게 전달할 수 있습니다.

307 리디렉션을 구현하는 4 가지 방법

사이트에 307 리디렉션을 구현하는 몇 가지 방법이 있습니다.당신에게 가장 적합한 것은 코딩으로 편안함 수준과 CMS (WordPress, Drupal, Joomla 등)를 실행하는지 여부에 따라 달라집니다.

선택한 방법에 관계없이 먼저 사이트의 백업을 만들거나 최소한 작업중 인 파일을 작성하십시오.우리는 강조 할 수 없습니다 데이터 백업의 중요성, 특히 .htaccess 파일 내에서 작업 할 때.

.htaccess 파일 사용

1. 웹 사이트의 루트 디렉토리에서 .htaccess 파일에 액세스하십시오.

2. .htaccess 파일에 다음 줄을 추가하십시오.

Redirect 307 /old-page.html http://example.com/new-page.html

3./old-page.html을 이전 URL 및 http://example.com/new-page.html로 새 URL로 바꾸십시오.

4. .htaccess 파일에 변경 사항을 저장하고 리디렉션을 테스트하십시오.

서버 측 스크립팅 (PHP) 사용

1. 서버에서 새 PHP 파일 (예 : Redirect.php)을 만듭니다.

2. 파일에 다음 PHP 코드를 추가하십시오.

<?php

header("HTTP/1.1 307 Temporary Redirect");

header("Location: http://example.com/new-page.html");

exit();

?>

3. http://example.com/new-page.html을 리디렉션하려는 URL로 교체하십시오.

4. 파일을 저장하고 서버에 업로드하십시오.

5. 브라우저의 파일에 액세스하여 리디렉션이 작동하는지 확인하십시오.

서버 구성 사용 (Apache Virtual Host)

1. 서버의 구성 파일에 액세스하십시오 (예 : httpd.conf 또는 apache2.conf).

2. 적절한 <VirtualHost> 또는 <Directory> 블록 내에 다음 줄을 추가하십시오.

Redirect 307 /old-page.html http://example.com/new-page.html

3. 변경 사항을 구성 파일에 저장하고 Apache 서버를 다시 시작하여 변경 사항을 적용합니다.

4. 브라우저에서 이전 URL에 액세스하여 리디렉션을 테스트하십시오.

플러그인 사용

WordPress 또는 Weebly와 같은 CMS (Content Management System)를 사용하는 사이트의 경우 307 개의 리디렉션을 구현하는 것이 플러그인을 통해 수행하는 것만 큼 쉽습니다.

원하는 플러그인을 찾고 다운로드 한 다음 307 리디렉션 구현 방법에 대한 지침을 따르십시오.

작성자 Hostwinds Team  /  행진 29, 2024