PHP에서 헤더 () 함수는 원시 HTTP 헤더 정보를 브라우저로 보내는 데 사용됩니다. 일반적으로 리디렉션, 콘텐츠 유형 설정, 캐시 제어, HTTP 상태 코드 설정 및 기타 시나리오에 사용됩니다. 대부분의 경우 기본 HTTP 상태 코드 (예 : 200)는 충분하지만 특정 특수 요구 사항에서는 HTTP 상태 코드를 사용자 정의해야 할 수도 있습니다. 이 기사는 Header () 함수를 사용하여 사용자 정의 HTTP 상태 코드를 올바르게 설정하는 방법을 소개합니다.
HTTP 상태 코드는 클라이언트 요청에 응답 할 때 서버가 전송하는 3 자리 코드이며, 이는 요청의 결과를 나타냅니다. 일반적인 상태 코드는 다음과 같습니다.
200 OK : 요청이 성공했습니다
301 영구적으로 이동 : 영구적으로 리디렉션되었습니다
404 찾을 수 없음 : 페이지를 찾을 수 없습니다
500 내부 서버 오류 : 내부 서버 오류
다른 요청과 응답을보다 정확하게 설명하려면 귀하의 요구에 따라 상태 코드를 사용자 정의 할 수 있습니다.
헤더 () 함수의 기본 구문은 다음과 같습니다.
header(string $header, bool $replace = true, int $http_response_code = 0)
$ 헤더 : HTTP 헤더 정보의 내용을 지정하기 위해 전달 해야하는 매개 변수입니다. 컨텐츠 유형, 리디렉션, 상태 코드 등을 설정할 수 있습니다.
$ 대체 : 이것은 선택적 매개 변수로, 기본적으로 기본적 으로 기본 헤더 정보를 교체할지 여부를 나타냅니다.
$ http_response_code : http 상태 코드를 지정하는 선택적 매개 변수입니다. 매개 변수가 0이면 Header ()는 제공 한 헤더 값에 따라 상태 코드를 자동으로 설정합니다.
사용자 정의 HTTP 상태 코드를 설정하려면 Header () 함수에 HTTP/1.1을 지정하고 사용자 정의 상태 코드 및 설명 정보를 지정하십시오. 예는 다음과 같습니다.
<?php
// 설정 404 Not Found 상태 코드
header("HTTP/1.1 404 Not Found");
?>
요청에 대한 특정 상태 코드 및 설명을 반환 해야하는 경우 다음과 같은 코드를 사용할 수도 있습니다.
<?php
// 설정 403 Forbidden 상태 코드
header("HTTP/1.1 403 Forbidden");
?>
표준 HTTP 상태 코드를 비슷한 방식으로 설정하고 상태 코드와 설명을 필요한 것으로 변경할 수 있습니다.
웹 사이트를 개발하고 사용자가 존재하지 않는 페이지를 방문 할 때 사용자 정의 404 오류 페이지를 반환한다고 가정하면 다음 코드를 사용할 수 있습니다.
<?php
// 설정 404 Not Found 상태 코드
header("HTTP/1.1 404 Not Found");
// 할 것이다 URL 오류 페이지 in(예를 들어, 'error.php')사용자에게 보여줍니다
include('error.php');
?>
이 예에서는 사용자가 존재하지 않는 페이지에 액세스하면 서버는 404 상태 코드를 반환하고 Error.php 페이지를 표시합니다.
페이지에 액세스 한 직후에 사용자를 다른 URL로 리디렉션하려면 다음 코드를 사용할 수 있습니다.
<?php
// 설정 301 永久重定向상태 코드
header("HTTP/1.1 301 Moved Permanently");
// 설정新的重定向 URL
header("Location: https://m66.net/newpage");
exit;
?>
이 코드는 사용자를 https://m66.net/newpage 로 리디렉션하고 브라우저에 영구적 인 리디렉션임을 알려줍니다.
내부 서버 오류가 발생하면 500 상태 코드를 설정하고 다음과 같이 사용자 정의 오류 페이지를 반환 할 수 있습니다.
<?php
// 설정 500 Internal Server Error 상태 코드
header("HTTP/1.1 500 Internal Server Error");
// 사용자 정의 오류 페이지로 돌아갑니다
include('500_error.php');
?>
이 예에서는 500_error.php 페이지가 사용자에게 표시되어 서버 오류가 발생했음을 알립니다.
출력 전에 헤더 () 함수를 호출해야합니다. 그렇지 않으면 HTTP 헤더 정보가 수정되지 않습니다. 헤더 () 함수를 호출하기 전에 HTML 출력 또는 에코 출력이 있으면 오류가 발생합니다.
각 페이지는 HTTP 헤더 정보 만 한 번만 보낼 수 있습니다. 헤더 () 함수를 여러 번 호출 할 때 특별한주의를 기울이고 동일한 상태 코드 또는 헤더 정보를 반복적으로 설정하지 마십시오.
리디렉션하려면 Header () 이후 종료를 추가하십시오. 그렇지 않으면 프로그램이 후속 코드를 계속 실행하여 불필요한 동작이 발생할 수 있습니다.
Header () 함수는 PHP의 매우 강력한 도구로, HTTP 상태 코드를 설정하고 페이지 리디렉션을 수행하고 캐시 제어 등을 사용하는 데 사용할 수 있습니다. Header () 함수를 합리적으로 사용하여 사용자 경험과 브라우저 동작을 더 잘 제어 할 수 있습니다. 개발 중에 특정 상태 코드를 사용자에게 반환 해야하는 경우 웹 사이트의 안정성과 정확성을 보장하기 위해 HTTP 헤더 정보를 올바르게 설정해야합니다.