리전 ID
REGION_ID
는 앱을 만들 때 선택한 리전을 기준으로 Google에서 할당하는 축약된 코드입니다. 일부 리전 ID는 일반적으로 사용되는 국가 및 주/도 코드와 비슷하게 표시될 수 있지만 코드는 국가 또는 주/도와 일치하지 않습니다. 2020년 2월 이후에 생성된 앱의 경우 REGION_ID.r
이 App Engine URL에 포함됩니다. 이 날짜 이전에 만든 기존 앱의 경우 URL에서 리전 ID는 선택사항입니다.
리전 ID에 대해 자세히 알아보세요.
이 페이지는 App Engine 앱에서 HTTP(S) 요청을 전송하는 방법을 설명합니다.
요청 크기 한도 및 URL Fetch 요청을 통해 전송되는 헤더에 대한 자세한 내용은 아웃바운드 요청을 참조하세요.HTTP 요청 실행
아웃바운드 HTTP 요청을 전송하려면 평소와 같이 http
패키지를 사용하되 urlfetch.Client
를 사용하여 클라이언트를 만듭니다. urlfetch.Client
가 반환하는 *http.Client
는 urlfetch.Transport
를 사용하며, 이는 URL Fetch API를 사용하여 요청을 수행하는 http.RoundTripper 인터페이스를 구현합니다.
다음 스니펫은 기본적인 HTTP GET
요청을 수행하는 방법을 보여줍니다.
리디렉션 사용 중지
URL Fetch를 사용하는 경우 기본 URL Fetch 서비스는 기본적으로 최대 5개의 리디렉션을 따릅니다. 이러한 리디렉션은 승인 헤더와 같은 민감한 정보를 리디렉션된 대상으로 전달할 수 있습니다. 앱에 HTTP 리디렉션이 필요하지 않으면 리디렉션을 사용 중지하는 것이 좋습니다.
URL Fetch 서비스가 리디렉션을 따르지 않도록 지시하려면 http.ErrUseLastResponse
를 반환하도록 urlfetch
패키지에서 반환된 http.Client
의 CheckRedirect
필드를 설정합니다.
이는 appengine/urlfetch
및 appengine/v2/urlfetch
에 적용됩니다. 예를 들면 다음과 같습니다.
client := urlfetch.Client(ctx)
client.CheckRedirect = func(*http.Request, []*http.Request) error {
return http.ErrUseLastResponse
}
HTTPS 요청 실행
Go API에서는 요청을 명시적으로 보호할 필요가 없습니다. 기본 URL 가져오기 서비스는 기본적으로 연결 중인 호스트의 인증서를 검증하고, 인증서가 일치하지 않으면 요청을 거부합니다.
호스트 인증서 검증 중지
호스트 인증서에 대한 자동 검증을 중지하려면 수동으로 Transport를 만들고 AllowInvalidServerCertificate
을 true
로 설정합니다.
다른 App Engine 앱으로 요청 전송
다른 App Engine 앱에 요청을 전송하는 경우 App Engine 앱은 요청에 X-Appengine-Inbound-Appid
헤더를 추가하여 자신의 ID를 입증해야 합니다.
URL Fetch 서비스에 리디렉션을 따르지 않도록 지시하면 App Engine이 헤더를 요청에 자동으로 추가합니다.
리디렉션 사용 중지에 대한 안내는 리디렉션 사용 중지를 참조하세요.
다음 단계
아웃바운드 요청에서 URL Fetch 요청을 통해 전송되는 헤더와 같은 URL Fetch 서비스에 대해 알아보기