헤더 가져오기 - 범위 지정, 전역

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기12분
  • Fetch Headers API를 사용하면 요청 또는 응답 헤더 목록에서 헤더를 검색, 설정, 추가 및 제거할 수 있습니다.

    이 API는 외부 웹 사이트에서 자원을 가져오기 위한 다양한 작업을 제공하는 Fetch API 세트의 일부입니다. 전체 Fetch API 컬렉션에는 다음이 포함됩니다.

    가져오기 작업을 지원하기 위해 시스템 속성 glide.hosts.allowlist를 사용하면 가져오기 메서드가 액세스할 수 있는 호스트를 제어할 수 있습니다. RestMessageV2와 같은 HTTP API 및 위에서 언급한 API에 적용됩니다. glide.hosts.allowlist에 대한 자세한 내용은 문서를 참조하십시오Available system properties.

    헤더 페치 - 헤더(init)

    Headers() 생성자는 비어 있는 새 Headers 객체를 만듭니다. 매개 변수를 사용하여 init HTTP 헤더 목록이 포함된 새 Headers 개체를 만들고 미리 채울 수도 있습니다.

    주:
    기존 Headers 개체에 헤더를 추가하려면 .헤더 가져오기 - append(String name, String value)
    표 1. 매개변수
    이름 유형 설명
    초기화 객체 옵션입니다. 새 Headers 개체를 미리 채울 HTTP 헤더를 포함하는 개체 리터럴입니다.
    유효한 값은 다음과 같습니다.
    • 문자열 값이 있는 객체 리터럴,
    • 이름-값 쌍으로 구성된 배열
    • 기존 Headers 개체(새 개체가 기존 개체에서 데이터를 복사하는 위치)

    기본값: 빈 헤더 객체를 생성합니다.

    다음 예제에서는 Headers() 생성자를 사용하여 헤더가 있거나 없는 새 Headers 개체를 만드는 방법을 보여 줍니다.

    //Intializes an empty Headers object.
    var headers = new Headers();
    
    //Sets the new Headers object with a list of headers.
    var httpHeaders = {
      "Content-Type": "application/json", 
      "X-My-Custom-Header": "XYZ", 
    }; 
    
    var myHeaders = new Headers(httpHeaders);

    헤더 가져오기 - append(String name, String value)

    Headers 개체 내의 기존 헤더에 새 값을 추가하거나 헤더가 아직 없는 경우 헤더를 추가합니다.

    지정된 헤더가 이미 존재하면, append() 는 기존 값을 지정된 값으로 변경합니다. 지정된 헤더가 이미 존재하고 여러 값을 허용하면, append() 는 값 집합의 끝에 새 값을 추가합니다. 이전 값을 새 값으로 덮어쓰려면 를 사용합니다 헤더 가져오기 - set(문자열 이름, 문자열 값).

    표 2. 매개변수
    이름 유형 설명
    이름 문자열 필수 헤더 객체에 추가할 HTTP 헤더의 이름입니다.
    문자열 필수 추가할 HTTP 헤더의 값입니다.
    표 3. 반환
    유형 설명
    안 함

    다음 예제에서는 append()를 사용하여 헤더를 추가하는 방법을 보여 줍니다.

    var myHeaders = new Headers(); // Currently empty
    myHeaders.append("Content-Type", "image/jpeg");
    myHeaders.get("Content-Type"); // Returns 'image/jpeg'

    출력:

    “image/jpeg”

    다음 예제에서는 여러 값을 허용하는 새 헤더를 추가하는 방법을 보여 줍니다.

    var myHeaders = new Headers(); // Currently empty
    myHeaders.append("Accept-Encoding", "deflate");
    myHeaders.append("Accept-Encoding", "gzip");
    myHeaders.get("Accept-Encoding"); // Returns 'deflate, gzip'

    출력:

    {“deflate”, “gzip”} 

    헤더 가져오기 - 삭제(문자열 이름)

    현재 헤더 객체에서 헤더를 삭제합니다.

    표 4. 매개변수
    이름 유형 설명
    이름 문자열 헤더 객체에서 삭제할 HTTP 헤더의 이름입니다.
    표 5. 반환
    유형 설명
    안 함

    다음 예제에서는 먼저 append()를 사용하여 Headers 개체에 헤더를 추가한 다음 delete()를 사용하여 동일한 헤더를 삭제하는 방법을 보여 줍니다.

    var myHeaders =newHeaders();// Currently empty
    myHeaders.append("Content-Type","image/jpeg");
    myHeaders.get("Content-Type");// Returns 'image/jpeg'

    다음 예제에서는 Headers 개체가 이미 삭제된 경우 엔드포인트에서 null 값을 반환하는 것을 보여 줍니다.

    myHeaders.delete("Content-Type");
    myHeaders.get("Content-Type");// Returns null, as it has been deleted

    출력:

    null

    헤더 가져오기 - entries()

    Headers 개체에 포함된 모든 키-값 쌍(문자열로 표시)을 순환할 수 있는 반복기를 반환합니다.

    표 6. 매개변수
    이름 유형 설명
    없음
    표 7. 반환
    유형 설명
    반복기 키 쌍과 값 쌍이 모두 String 객체인 반복기 객체를 반환합니다.

    다음 예제에서는 테스트 Headers 개체를 만든 다음 entries() 메서드를 사용하여 Headers 개체에 있는 모든 값의 반복기를 반환하는 방법을 보여 줍니다.

    // Create a test Headers object
    var myHeaders = new Headers();
    myHeaders.append("Content-Type", "text/xml");
    myHeaders.append("Vary", "Accept-Language");
    
    // Display the key/value pairs
    for (var pair of myHeaders.entries()) {
      console.log(`${pair[0]}: ${pair[1]}`);
    }

    출력:

    content-type: text/xml
    vary: Accept-Language

    헤더 가져오기 - forEach(Function callbackFn, Object thisArg)

    Headers 개체의 각 키/값 쌍마다 한 번씩 콜백 함수를 실행합니다.

    콜백 함수는 삭제된 키에 대해 실행되지 않지만 값이 정의되지 않은 경우에도 기존 키에 대해 실행됩니다.

    표 8. 매개변수
    이름 유형 설명
    콜백Fn 함수 헤더 개체의 각 키/값 쌍에 대해 실행할 함수입니다.

    callbackFn(string key, string value) 형식을 따릅니다.

    콜백Fn.value 문자열 헤더 항목의 값입니다.
    callbackFn.key 문자열 헤더 항목의 이름입니다.
    callBackFn.object 머리글 반복할 Headers 개체입니다.
    thisArg 객체 콜백 실행 시 값으로 사용할 값입니다.
    표 9. 반환
    유형 설명
    안 함

    다음 예제에서는 Headers 개체의 각 키/값 쌍에 대한 줄을 기록합니다.

    // Create a new test Headers object
    var myHeaders = new Headers();
    myHeaders.append("Content-Type", "application/json");
    myHeaders.append("Cookie", "This is a demo cookie");
    myHeaders.append("compression", "gzip");
    
    // Display the key/value pairs
    myHeaders.forEach((value, key) => {
      console.log(`${key} ==> ${value}`);
    });

    출력:

    compression ==> gzip
    content-type ==> application/json
    cookie ==> This is a demo cookie

    헤더 가져오기 - get(문자열 이름)

    지정된 Headers 객체의 모든 헤더 값의 문자열을 반환하거나, 헤더가 없는 경우 null을 반환합니다.

    표 10. 매개변수
    이름 유형 설명
    이름 문자열 헤더 값을 검색할 HTTP 헤더의 이름입니다(대/소문자 구분 안 함).
    표 11. 반환
    유형 설명
    문자열 검색된 헤더의 값(문자열로 표시)이거나 헤더가 설정되지 않은 경우 null입니다.

    헤더가 없는 경우 오류를 반환합니다. 지정된 이름이 HTTP 헤더의 이름이 아닌 경우 유형 오류를 반환합니다.

    다음은 append()를 사용하여 여러 개의 헤더가 있는 headers 객체를 생성한 후 get() 메서드를 사용하여 헤더의 값을 반환하는 방법을 보여줍니다.

    var myHeaders = new Headers(); // Currently empty
    myHeaders.append("Accept-Encoding", "deflate");
    myHeaders.append("Accept-Encoding", "gzip");
    myHeaders.get("Accept-Encoding"); // Returns "deflate, gzip"
    myHeaders
      .get("Accept-Encoding")
      .split(",")
      .map((v) => v.trimStart()); // Returns [ "deflate", "gzip"
    

    출력:

    [ "deflate", "gzip" ]

    헤더 가져오기 - getSetCookie()

    응답과 연결된 모든 Set-Cookie 헤더를 반환합니다.

    표 12. 매개변수
    이름 유형 설명
    없음
    표 13. 반환
    유형 설명
    문자열 배열 응답과 연결된 모든 Set-Cookie 헤더의 값을 포함하는 문자열 배열입니다. 이 메서드는 Set-Cookie 헤더가 설정되지 않은 경우 빈 배열을 반환합니다.

    다음 스크립트 예시에서는 getSetCookie() 를 사용하여 응답과 연결된 헤더 값을 반환하는 방법을 보여줍니다.

    var headers = new Headers({
      "Set-Cookie": "name1=value1",
    });
    
    headers.append("Set-Cookie", "name2=value2");
    
    headers.getSetCookie();

    출력:

    ["name1=value1", "name2=value2"]

    헤더 가져오기 - has(String name)

    Headers 개체에 지정된 헤더가 포함되어 있는지 여부를 나타내는 부울을 반환합니다.

    표 14. 매개변수
    이름 유형 설명
    이름 문자열 Headers 개체에 존재하는지 여부를 확인하기 위한 HTTP 헤더의 이름입니다.
    표 15. 반환
    유형 설명
    부울 지정된 헤더가 Headers 개체에 있는지 여부를 나타내는 플래그입니다. 지정된 헤더가 유효한 HTTP 헤더 이름이 아니면 TypeError가 반환됩니다.
    가능한 값:
    • true: 헤더가 개체에 있습니다.
    • false: 헤더가 개체에 없습니다.

    다음 예제에서는 Headers()append() 메서드를 사용하여 Content-Type 헤더가 있는 Headers 객체를 만들고 설정합니다. 그런 다음 이 예제에서는 has() 메서드를 사용하여 Content-Type 헤더가 Headers 개체에 있지만 Accept-Coding 헤더에는 존재하지 않음을 보여 줍니다.

    var myHeaders = new Headers(); // Currently empty
    myHeaders.append("Content-Type", "image/jpeg");
    myHeaders.has("Content-Type"); // Returns true
    myHeaders.has("Accept-Encoding"); // Returns false

    출력:

    true
    false

    헤더 가져오기 - keys()

    Headers 개체에 포함된 모든 키를 순환할 수 있는 반복자를 반환합니다.

    헤더 가져오기 - values() 메서드를 사용하여 모든 헤더 키를 반환합니다.

    표 16. 매개변수
    이름 유형 설명
    없음
    표 17. 반환
    유형 설명
    반복기 헤더 키가 문자열로 표시되는 반복자를 반환합니다.

    다음 예제에서는 키가 있는 Headers 개체를 만든 다음 keys() 메서드를 사용하여 사용 가능한 헤더 목록을 반환하는 방법을 보여 줍니다.

    // Create a test Headers object
    var myHeaders = new Headers();
    myHeaders.append("Content-Type", "text/xml");
    myHeaders.append("Vary", "Accept-Language");
    
    // Display the keys
    for (var key of myHeaders.keys()) {
      console.log(key);
    }

    출력:

    content-type
    vary

    헤더 가져오기 - set(문자열 이름, 문자열 값)

    Headers 개체 내에서 기존 헤더의 값을 업데이트하거나, 헤더가 아직 없는 경우 지정된 값으로 새 헤더를 만듭니다.

    데이터를 덮어쓰지 않고 기존 헤더에 새 값을 추가하기만 하면 됩니다 헤더 가져오기 - append(String name, String value) .

    표 18. 매개변수
    이름 유형 설명
    이름 문자열 새 값을 설정할 HTTP 헤더의 이름입니다. 지정된 이름이 HTTP 헤더의 이름이 아닌 경우 TypeError를 발생시킵니다.
    문자열 지정된 헤더에 대해 설정할 새 값입니다.
    표 19. 반환
    유형 설명
    안 함

    다음 예제에서는 append()를 사용하여 새 Headers 개체에서 헤더를 설정한 다음 set()을 사용하여 값을 다시 설정하는 방법을 보여 줍니다.

    var myHeaders = new Headers(); // Currently empty
    myHeaders.append("Content-Type", "image/jpeg");
    myHeaders.set("Content-Type", "text/html");

    출력:

    text/html

    다음 예제에서는 여러 값을 허용하는 경우 Headers 개체에서 값을 설정하는 방법을 보여 줍니다.

    myHeaders.set("Accept-Encoding", "deflate");
    myHeaders.set("Accept-Encoding", "gzip");
    myHeaders.get("Accept-Encoding");

    출력:

    gzip

    헤더 가져오기 - values()

    Headers 개체에 포함된 모든 헤더 값을 순환할 수 있는 반복기를 반환합니다.

    메서드를 헤더 가져오기 - keys() 사용하여 모든 헤더 값을 반환합니다.

    표 20. 매개변수
    이름 유형 설명
    없음
    표 21. 반환
    유형 설명
    문자열 헤더 값이 문자열로 표시되는 반복기를 반환합니다.

    다음 예제에서는 append() 메서드를 사용하여 여러 헤더가 있는 새 Headers 객체를 처음 만들고 설정한 다음 values() 메서드를 호출하여 새 객체의 모든 헤더 값 목록을 반환하는 방법을 보여줍니다. Console.log() 는 행을 시스템 로그에 기록합니다.

    // Create a test Headers object
    var myHeaders = new Headers();
    myHeaders.append("Content-Type", "text/xml");
    myHeaders.append("Vary", "Accept-Language");
    
    // Display the values
    for (var value of myHeaders.values()) {
      console.log(value);
    }

    출력:

    text/xml
    Accept-Language