웹 애플리케이션을 개발할 때 RESTFUL API는 표준 HTTP 프로토콜을 따라 유연하고 확장 가능한 인터페이스를 제공하는 건축 스타일이되었습니다. HTTP 응답 헤더를 올바르게 사용함으로써 개발자는 인터페이스의 동작 및 응답 내용을 제어하여 인터페이스의 상호 작용 및 보안을 향상시킬 수 있습니다.
PHP는 응답 헤더를 설정하는 Header () 함수를 제공하여 개발자가 API의 응답 내용, 상태 코드, 캐시 제어 등을 유연하게 관리 할 수 있도록합니다.이 기사는 Header () 함수를 사용하여 RESTFUL API의 응답 헤더를 시뮬레이션하여보다 유연한 인터페이스 상호 작용을 달성하는 방법을 소개합니다.
PHP에서 헤더 () 함수는 원시 HTTP 헤더 정보를 보내는 데 사용될 수 있습니다. 기본 구문은 다음과 같습니다.
header('Header-Name: Header-Value');
예를 들어, 표준 컨텐츠 유형 헤더 정보를 반환하려면 다음과 같이 설정할 수 있습니다.
header('Content-Type: application/json');
RESTFUL API 응답을 시뮬레이션 할 때는 일반적으로 JSON 형식의 데이터를 반환해야하며 해당 HTTP 상태 코드를 반환해야합니다. 따라서 다음 응답 헤더를 설정할 수 있습니다.
header('Content-Type: application/json');
header('HTTP/1.1 200 OK');
RESTFUL API에서 응답 데이터는 일반적으로 JSON 형식입니다. 클라이언트에게 리턴 된 데이터 유형을 알리려면 컨텐츠 유형 헤더를 설정할 수 있습니다.
header('Content-Type: application/json');
JSON 형식의 응답 데이터를 반환하려면 일반적으로 다음 코드를 사용할 수 있습니다.
$data = ['message' => '성공', 'code' => 200];
echo json_encode($data);
RESTFUL API의 응답 상태 코드는 중요하므로 요청의 처리 결과를 나타냅니다. 예를 들어, 200 OK는 요청이 성공했음을 의미하고, 404 찾을 수 없다는 것을 의미합니다. 요청 된 리소스가 존재하지 않으며 500 내부 서버 오류가 서버에서 오류가 발생했음을 의미합니다.
Header () 함수를 사용하여 응답 상태 코드를 설정합니다.
header('HTTP/1.1 404 Not Found');
다른 공통 상태 코드를 시뮬레이션 해야하는 경우 상황에 따라 설정할 수 있습니다.
header('HTTP/1.1 201 Created');
경우에 따라 API의 응답에는 클라이언트를 제어하거나 프록시가 응답을 캐시하기 위해 캐시 헤더가 필요합니다. 공통 캐시 제어 헤더에는 캐시 제어 및 만료가 포함됩니다.
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Expires: 0');
이 헤더는 클라이언트에게 응답 데이터를 캐시하지 말고 매번 데이터를 다시 반복하지 말라고 지시합니다.
도메인 이름이 다른 클라이언트가 API를 호출 해야하는 경우 CORS (Cross-Domain Resource Sharing) 응답 헤더를 구성해야합니다. Access-Control-Origin 헤더를 사용하여 지정된 도메인이 API에 액세스 할 수 있습니다.
header('Access-Control-Allow-Origin: https://m66.net');
도메인 이름이 API에 액세스하도록 허용하려면 와일드 카드 문자 * 를 사용할 수 있습니다.
header('Access-Control-Allow-Origin: *');
RESTFUL API는 필요에 따라 사용자 정의 응답 헤더를 설정할 수도 있습니다. Header () 함수를 통해 사용자 정의 헤더 정보를 보낼 수 있습니다.
header('X-Request-Id: 12345');
header('X-Rate-Limit-Limit: 100');
이 사용자 정의 헤더는 요청 된 ID, 요율 제한 등과 같은 추가 정보를 제공하는 데 사용될 수 있습니다.
다음은 Header () 함수를 사용하여 간단한 RESTFUL API 응답을 시뮬레이션하는 방법을 보여주는 완전한 PHP 예입니다.