이 페이지에서는 URL Fetch 서비스를 사용하여 HTTP 및 HTTPS 요청을 수행하고 응답을 수신하는 방법을 설명합니다.
요청
요청 프로토콜
애플리케이션은 HTTP 또는 HTTPS를 사용하여 URL을 가져올 수 있습니다. 사용되는 프로토콜은 대상 URL의 프로토콜에 따라 유추됩니다.
가져올 URL은 다음 범위의 포트 번호를 사용할 수 있습니다.
80
-90
440
-450
1024
-65535
포트가 URL에 명시되지 않은 경우 프로토콜의 기본 포트가 사용됩니다. HTTP 요청은 포트 80
에서, HTTPS 요청은 포트 443
에서 수행됩니다.
요청 메서드
URL Fetch 서비스를 통해 요청을 수행하는 경우 다음과 같은 HTTP 메서드를 사용할 수 있습니다.
GET
POST
PUT
HEAD
DELETE
PATCH
요청은 HTTP 헤더를 포함할 수 있으며 POST
, PUT
, PATCH
요청의 경우에는 페이로드를 포함할 수 있습니다.
요청에 프록시 사용
URL Fetch 서비스는 HTTP/1.1 호환 프록시를 사용하여 결과를 가져옵니다.
애플리케이션에서 요청 무한 반복이 발생할 우려가 있으므로 요청 핸들러가 자신의 URL을 가져오는 것은 금지되어 있습니다. 그러나 다른 방법으로도 무한 반복이 발생할 수 있으므로, 애플리케이션이 사용자가 제공한 URL에 대한 요청을 가져올 수 있는 경우에는 특히 주의가 필요합니다.
요청 헤더
애플리케이션은 발신 요청에 HTTP 헤더를 설정할 수 있습니다.
예를 들어 HTTP POST
요청을 보낼 때 Content-Type
헤더가 명시적으로 설정되어 있지 않으면 헤더는 x-www-form-urlencoded
로 설정됩니다.
이 콘텐츠 유형은 웹 양식에 사용됩니다.
보안상의 이유로 다음 헤더는 애플리케이션에서 수정할 수 없습니다.
Content-Length
Host
Vary
Via
X-Appengine-Inbound-Appid
X-Forwarded-For
X-ProxyUser-IP
이러한 헤더는 App Engine에서 정확한 값으로 적절히 설정됩니다. 예를 들어 App Engine은 요청 데이터에서 Content-Length
헤더를 계산하여 요청에 추가한 후 전송합니다.
다음 헤더는 요청하는 앱의 애플리케이션 ID를 나타냅니다.
User-Agent
. 이 헤더는 수정할 수 있지만 서버가 App Engine 요청을 식별할 수 있도록 App Engine이 식별자 문자열을 추가합니다. 추가되는 문자열은"AppEngine-Google; (+http://code.google.com/appengine; appid: APPID)"
형식이며, 여기서APPID
는 앱의 식별자입니다.X-Appengine-Inbound-Appid
. 이 헤더를 수정할 수 없으며 URL Fetch 서비스를 통해 요청이 전송되면 헤더가 자동으로 추가됩니다
요청 시간 제한
요청의 기한 또는 제한 시간을 설정할 수 있습니다. 기본적으로 요청 제한 시간은 10초입니다.
보안 연결 및 HTTPS
애플리케이션은 HTTPS로 보안 서버에 연결하여 안전하게 URL을 가져올 수 있습니다. 이렇게 하면 요청 및 응답 데이터가 암호화된 형식으로 네트워크를 통해 전송됩니다.
응답
URL Fetch API를 사용하는 경우 URL Fetch 서비스는 응답, 코드, 헤더, 본문을 포함하여 모든 응답 데이터를 반환한다는 점에 주의하세요.
기본적으로 URL Fetch 서비스는 리디렉션 코드가 포함된 응답을 수신하면 해당 리디렉션을 따릅니다. 서비스는 최대 5개까지 리디렉션 응답을 따른 후 최종 리소스를 반환합니다.
개발 서버에서 URL Fetch 사용
사용자 컴퓨터의 App Engine 개발 서버에서 애플리케이션이 실행되는 경우 URL Fetch 서비스에 대한 호출이 로컬로 처리됩니다. 개발 서버는 컴퓨터에서 인터넷 액세스에 사용 중인 모든 네트워크 구성을 통해 사용자 컴퓨터에서 직접 원격 호스트에 연결하여 URL을 가져옵니다.
URL을 가져오는 애플리케이션의 기능을 테스트할 때는 컴퓨터가 원격 호스트에 액세스할 수 있는지 확인해야 합니다.
URL 가져오기의 할당량 및 한도
URL Fetch 서비스의 할당량에 대한 자세한 내용은 할당량을 참조하세요. 애플리케이션이 현재 사용 중인 할당량을 보려면 Google Cloud Console의 할당량 세부정보 페이지로 이동합니다.
또한 URL Fetch 서비스를 사용할 때 다음과 같은 한도가 적용됩니다.
Limit | Amount |
---|---|
Request size | 10 megabytes |
Request header size | 16 KB (Note that this limits the maximum length of the URL that can be specified in the header) |
Response size | 32 megabytes |
Maximum deadline (request handler) | 60 seconds |
Maximum deadline (Task Queue and cron job handler) | 60 seconds |