Response Headers

FourA API의 모든 response에는 소수의 커스텀 header가 포함되어 있습니다. 이는 추적, 기술 지원 및 사후 분석에 유용합니다.

FourA가 설정하는 Headers

Header 설정 대상 설명
X-Foura-Request-Id 에러 및 401을 포함한 모든 /api/* response 이 request를 식별하는 UUID입니다. 귀사 측에 로그로 기록해 두세요.
Content-Type 모든 response 엔벨로프(envelope)의 경우 항상 application/json입니다. 대상의 content-type은 엔벨로프의 headers 필드 내부에 반환됩니다.

X-Foura-Request-Id

POST /api/single/, POST /api/proxy/ 또는 POST /api/browser/에 대한 각 호출에는 UUID가 태그됩니다. 인증에 실패한 경우에도 header가 설정되므로 잘못 구성된 호출도 서로 연관 지어 분석할 수 있습니다.

curl -i -X POST https://eu.api.foura.ai/api/single/ \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method": "GET", "url": "https://example.com"}'
HTTP/1.1 200 OK
X-Foura-Request-Id: 9f1c4e6c-7b2a-4d3e-8a1f-2c9d8e4a3b15
Content-Type: application/json
...

활용 시점

  • 지원 티켓: request ID를 포함해 주시면 당사 기록에서 정확한 호출을 찾을 수 있습니다.
  • 자체 로그: 애플리케이션 로그 라인 옆에 이를 저장하세요. 고객이 "14:32에 데이터가 잘못되었습니다"라고 문의하는 경우, 정확한 request를 재현할 수 있습니다.
  • 대시보드 추적: 관리하는 키의 Activity feed에 동일한 ID가 표시되므로, 일치하는 행을 열어 캡처된 request 및 response를 검사할 수 있습니다.

예시: 자체 로그 기록

import logging
import requests

log = logging.getLogger(__name__)

def fetch(url, api_key):
    resp = requests.post(
        "https://eu.api.foura.ai/api/single/",
        headers={"X-API-Key": api_key, "Content-Type": "application/json"},
        json={"method": "GET", "url": url},
    )
    request_id = resp.headers.get("X-Foura-Request-Id", "no-id")
    log.info("foura request_id=%s url=%s status=%s", request_id, url, resp.status_code)
    resp.raise_for_status()
    return resp.json()
async function fetchPage(url, apiKey) {
  const resp = await fetch('https://eu.api.foura.ai/api/single/', {
    method: 'POST',
    headers: { 'X-API-Key': apiKey, 'Content-Type': 'application/json' },
    body: JSON.stringify({ method: 'GET', url })
  });

  const requestId = resp.headers.get('X-Foura-Request-Id') || 'no-id';
  console.log(`foura request_id=${requestId} url=${url} status=${resp.status}`);

  return resp.json();
}

캐시 동작

API는 response에 Cache-Control 또는 ETag를 설정하지 않습니다. 모든 호출은 백엔드로 직접 전달됩니다. 캐싱이 필요한 경우 귀사 측에 추가하세요.

대상 Response Headers

대상 사이트가 반환한 header는 FourA API response에 포함되지 않습니다. 이들은 JSON 엔벨로프 내부에 headers 필드로 반환됩니다. Single 및 Proxy endpoint의 경우, 이는 홉별 header 객체의 배열입니다(리디렉션 단계당 하나의 항목). Browser endpoint의 경우, 최종 response headers의 평면 객체(flat object)입니다.

{
  "status": 200,
  "headers": [
    { "Content-Type": "text/html; charset=utf-8", "Server": "..." }
  ],
  "data": "<!doctype html>...",
  "total_time": 0.42
}

특정 대상 header가 필요한 경우, API 호출 자체의 HTTP response가 아닌 엔벨로프의 headers 필드에서 읽으세요.

관련 문서

최근 업데이트: 2026년 6월 30일