현재 위치: > 최신 기사 목록> PHP 헤더 () 함수의 기본 사용에 대한 자세한 설명

PHP 헤더 () 함수의 기본 사용에 대한 자세한 설명

M66 2025-05-18

PHP의 헤더 () 함수는 매우 일반적인 기능으로, 클라이언트 브라우저에 원시 HTTP 헤더 정보를 보내는 데 사용됩니다. 이 기능을 통해 개발자는 페이지 응답의 헤더 정보를 제어하여 브라우저의 동작에 영향을 줄 수 있습니다. 예를 들어 리디렉션을 설정하고 컨텐츠 유형을 수정하고 캐시를 제어하는 ​​데 사용할 수 있습니다.

1. Header () 함수의 기본 사용

헤더 () 함수의 기본 구문은 다음과 같습니다.

 header(string $header, bool $replace = true, int $response_code = 0): void
  • $ 헤더 : 전송 될 HTTP 헤더 정보.

  • $ 대체 : 동일한 유형의 이전 헤더 정보를 교체할지 여부를 나타냅니다. 기본값은 사실 이며 교체를 나타냅니다. False 인 경우 새 헤더 정보가 추가됩니다.

  • $ response_code : http 응답 코드, 예를 들어, 200은 성공을 의미하며 301은 영구 리디렉션을 의미하며 404는 페이지를 찾은 페이지가 없음을 의미합니다.

예:

 header("Content-Type: application/json"); // 응답의 내용 유형을 설정하십시오JSON
header("Location: http://m66.net/redirect-page"); // 보내다301헤더 정보를 리디렉션합니다

2. 헤더 () 함수의 일반적인 응용 프로그램 시나리오

  1. 페이지 리디렉션
    헤더 () 함수의 가장 일반적인 응용 프로그램 중 하나는 페이지 리디렉션입니다. 위치 헤더를 보내면 사용자를 다른 URL로 리디렉션 할 수 있습니다. 예를 들어:

     header("Location: http://m66.net/newpage"); // 사용자를 새 페이지로 리디렉션하십시오
    exit(); // 스크립트가 실행되지 않도록하십시오,콘텐츠를 계속 출력하지 마십시오
    

    이 예에서는 페이지에 액세스 할 때 브라우저는 http://m66.net/newpage 로 표시됩니다.

  2. 컨텐츠 유형을 설정 <br> 헤더 () 함수를 사용하여 응답의 내용 유형을 설정할 수 있습니다. 예를 들어 JSON 데이터를 프론트 엔드로 반환하려면 컨텐츠 유형 헤더 정보를 Application/JSON 으로 설정할 수 있습니다.

     header("Content-Type: application/json");
    echo json_encode(["message" => "Hello, world!"]);
    

    이는 반환 된 데이터가 HTML 또는 기타 유형이 아닌 JSON 형식으로 브라우저에 알려줍니다.

  3. 제어 캐시 <br> Header () 함수를 사용하여 브라우저가 특정 페이지 컨텐츠를 캐시하는지 여부를 제어 할 수 있습니다. 예를 들어, 페이지 캐싱 비활성화 :

     header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Pragma: no-cache");
    header("Expires: 0");
    

    이를 통해 브라우저는 캐시 된 컨텐츠를 사용하지 않고 매번 페이지를 다시 반복하도록 지시합니다.

  4. 404 오류 페이지 <br>을 보내십시오 페이지를 찾을 수없는 경우 브라우저에 HTTP 상태 코드를 404로 설정하여 "찾을 수없는"오류임을 알릴 수 있습니다.

     header("HTTP/1.1 404 Not Found");
    echo "Page not found";
    

    이를 통해 브라우저는 404 오류를 올바르게 처리하고 오류 페이지를 표시 할 수 있습니다.

  5. 특정 파일에 직접 액세스하지 마십시오 <br> 사용자가 특정 민감한 파일 (구성 파일)에 직접 액세스하지 못하면 Header () 함수를 통해 액세스 소스를 확인하고 사용자를 리디렉션 할 수 있습니다. 예를 들어:

     if ($_SERVER['HTTP_REFERER'] !== 'http://m66.net/safe-zone') {
        header("Location: http://m66.net/access-denied");
        exit();
    }
    

3. 헤더 ()를 사용할 때 주목해야 할 사항

  1. 출력 전에 호출해야합니다
    페이지의 출력 컨텐츠 전에 헤더 () 함수를 호출해야합니다. 페이지에 출력 HTML 또는 기타 컨텐츠가있는 경우 "헤더 정보가 전송되었습니다"오류가 발생합니다. 이 오류를 피하기 위해 PHP 코드의 시작 부분에서 Header ()을 호출하고 출력이 없는지 확인하는 것이 좋습니다 (공백 또는 라인 브레이크 포함).

     // 잘못된 사용 방법:
    echo "Hello, World!";
    header("Location: http://m66.net/newpage");  // 오류를보고합니다
    
    // 그것을 사용하는 올바른 방법:
    header("Location: http://m66.net/newpage");  // 출력 전에 있어야합니다
    exit();
    
  2. exit () <br>을 사용하여 스크립트를 종료하십시오 리디렉션을 전송 한 후 exit () 함수는 일반적으로 후속 코드에서 예상치 못한 출력을 피하기 위해 스크립트 실행을 중지하는 데 사용됩니다.

     header("Location: http://m66.net/newpage");
    exit();
    
  3. 디버깅 중에 헤더 출력을 확인하십시오 <br> "헤더 정보가 전송되었습니다"오류가 발생하면 PHP의 출력 버퍼를 활성화하거나 Headers_Sent () 함수를 사용하여 디버그를 사용할 수 있습니다.

     if (headers_sent($file, $line)) {
        echo "Headers already sent in $file on line $line";
    }
    
  4. HTTP 프로토콜이 올바른지 확인하십시오 <br> Header () 함수를 사용하는 경우 전달 된 HTTP 헤더가 프로토콜을 준수하는지 확인하십시오. 예를 들어, 위치 헤더에 유효한 URL이 필요합니다.

4. 요약

헤더 () 함수는 PHP의 강력한 도구입니다. 이를 통해 브라우저 동작을 제어하고 응답 헤더 변경, 페이지 리디렉션 및 개발 중 기타 작업을 수행 할 수 있습니다. HTTP 요청, 응답 및 페이지 리디렉션을 처리 할 때 HEADER () 기능의 올바른 사용법을 마스터하는 것은 개발자에게 매우 중요합니다.

기본 사용 및 응용 프로그램 시나리오를 이해함으로써 브라우저와 서버 간의 상호 작용을 더 잘 제어하고 웹 사이트의 성능 및 사용자 경험을 향상시킬 수 있습니다.