

# REST API와 HTTP API 중에서 선택
<a name="http-api-vs-rest"></a>

REST API와 HTTP API는 모두 RESTful API 제품입니다. REST API는 HTTP API보다 더 많은 기능을 지원하지만 HTTP API는 최소한의 기능으로 설계되어 더 낮은 가격으로 제공될 수 있습니다. API 키, 클라이언트별 제한, 요청 검증, AWS WAF 통합 또는 프라이빗 API 엔드포인트와 같은 기능이 필요한 경우 REST API를 선택합니다. REST API에 포함된 기능이 필요하지 않은 경우 HTTP API를 선택합니다.

다음 섹션에는 REST API 및 HTTP API에서 사용할 수 있는 핵심 기능이 요약되어 있습니다. 필요한 경우 API Gateway 개발자 안내서의 REST API와 HTTP API 섹션을 탐색할 수 있는 추가 링크가 제공됩니다.

## 엔드포인트 유형
<a name="http-api-vs-rest.differences.endpoint-type"></a>

엔드포인트 유형은 API Gateway가 API용으로 생성하는 엔드포인트를 나타냅니다. 자세한 내용은 [API Gateway의 REST API에 대한 API 엔드포인트 유형](api-gateway-api-endpoint-types.md) 섹션을 참조하세요.


| 엔드포인트 유형 | REST API | HTTP API | 
| --- | --- | --- | 
|  [엣지 최적화](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-edge-optimized)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [리전](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-regional)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | 
|  [ 프라이빗](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-private)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 

## 보안
<a name="http-api-vs-rest.differences.security"></a>

API Gateway는 악의적 행위자나 트래픽 스파이크 같은 특정 위협으로부터 API를 보호할 수 있는 여러 가지 방법을 제공합니다. 자세한 내용은 [API Gateway에서 REST API 보호](rest-api-protect.md) 및 [API Gateway에서 HTTP API 보호](http-api-protect.md) 섹션을 참조하세요.


| 보안 기능 | REST API | HTTP API | 
| --- | --- | --- | 
|  [상호 TLS 인증](rest-api-mutual-tls.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](rest-api-mutual-tls.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-mutual-tls.md)  | 
|  [백엔드 인증을 위한 인증서](getting-started-client-side-ssl-authentication.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [AWS WAF](apigateway-control-access-aws-waf.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 

## 승인
<a name="http-api-vs-rest.differences.authorization"></a>

API Gateway는 API 액세스 제어 및 관리에 다중 메커니즘을 지원합니다. 자세한 내용은 [API Gateway에서 REST API에 대한 액세스 제어 및 관리](apigateway-control-access-to-api.md) 및 [API Gateway에서 HTTP API에 대한 액세스 제어 및 관리](http-api-access-control.md)(을)를 참조하세요.


| 권한 부여 옵션 | REST API | HTTP API | 
| --- | --- | --- | 
|  [(IAM](permissions.md))  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](permissions.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-access-control-iam.md)  | 
|  [리소스 정책](apigateway-resource-policies.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요   | 
|  [Amazon Cognito](apigateway-integrate-with-cognito.md).  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예 1  | 
|  [AWS Lambda 함수를 사용한 사용자 지정 권한 부여](apigateway-use-lambda-authorizer.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](apigateway-use-lambda-authorizer.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-lambda-authorizer.md)  | 
|  [JWT(JSON Web Token)](http-api-jwt-authorizer.md) 2  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | 

1 [JWT 권한 부여자](http-api-jwt-authorizer.md)와 함께 Amazon Cognito를 사용할 수 있습니다.

2 [Lambda 권한 부여자](apigateway-use-lambda-authorizer.md)를 사용하여 REST API용 JWT를 검증할 수 있습니다.

## API 관리
<a name="http-api-vs-rest.differences.management"></a>

API 키 및 클라이언트별 속도 제한과 같은 API 관리 기능이 필요한 경우 REST API를 선택합니다. 자세한 내용은 [API Gateway에서 REST API를 클라이언트에 배포](rest-api-distribute.md), [API Gateway의 퍼블릭 REST API에 대한 사용자 지정 도메인 이름](how-to-custom-domains.md), [API Gateway의 HTTP API에 대한 사용자 지정 도메인 이름](http-api-custom-domain-names.md) 섹션을 참조하세요.


| 기능 | REST API | HTTP API | 
| --- | --- | --- | 
|  [사용자 지정 도메인](how-to-custom-domains.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](how-to-custom-domains.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-custom-domain-names.md)  | 
|  [API 키](api-gateway-api-usage-plans.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [클라이언트별 속도 제한](api-gateway-request-throttling.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [클라이언트별 사용 제한](api-gateway-api-usage-plans.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [개발자 포털](apigateway-portals.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 

## 개발
<a name="http-api-vs-rest.differences.development"></a>

API Gateway API를 개발할 때 API의 여러 특성을 결정합니다. 이러한 특성은 API의 사용 사례에 따라 달라집니다. 자세한 내용은 [API Gateway에서 REST API 개발](rest-api-develop.md) 및 [API Gateway에서 HTTP API 개발](http-api-develop.md) 단원을 참조하세요.


| 기능 | REST API | HTTP API | 
| --- | --- | --- | 
|  [CORS 구성](how-to-cors.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](how-to-cors.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-cors.md)  | 
|  [테스트 호출](how-to-test-method.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [캐싱](api-gateway-caching.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [사용자 제어 배포](how-to-deploy-api.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](how-to-deploy-api.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-stages.md)  | 
|  [자동 배포](http-api-stages.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | 
|  [사용자 지정 게이트웨이 응답](api-gateway-gatewayResponse-definition.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [Canary 릴리스 배포](canary-release.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [요청 검증](api-gateway-method-request-validation.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [요청 파라미터 변환](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-parameter-mapping.md)  | 
|  [요청 본문 변환](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 

## 모니터링
<a name="http-api-vs-rest.differences.monitoring"></a>

API Gateway는 API 요청을 로그하고 API를 모니터링하는 몇 가지 옵션을 지원합니다. 자세한 내용은 [API Gateway에서 REST API 모니터링](rest-api-monitor.md) 및 [API Gateway에서 HTTP API 모니터링](http-api-monitor.md)(을)를 참조하세요.


| 기능 | REST API | HTTP API | 
| --- | --- | --- | 
|  [Amazon CloudWatch 지표](monitoring-cloudwatch.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](monitoring-cloudwatch.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-metrics.md)  | 
|  [CloudWatch Logs에 대한 액세스 로그](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-logging.md)  | 
|  [Amazon Data Firehose에 대한 액세스 로그](apigateway-logging-to-kinesis.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [실행 로그](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [AWS X-Ray 추적](apigateway-xray.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 

## 통합
<a name="http-api-vs-rest.differences.integrations"></a>

통합 기능은 API Gateway API를 백엔드 리소스에 연결합니다. 자세한 내용은 [API Gateway에서 REST API 통합](how-to-integration-settings.md) 및 [API Gateway에서 HTTP API 통합 생성](http-api-develop-integrations.md)(을)를 참조하세요.


| 기능 | REST API | HTTP API | 
| --- | --- | --- | 
|  [퍼블릭 HTTP 엔드포인트](setup-http-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](setup-http-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-develop-integrations-http.md)  | 
|  [AWS 서비스](api-gateway-api-integration-types.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](api-gateway-api-integration-types.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-develop-integrations-aws-services.md)  | 
|  [AWS Lambda 함수](set-up-lambda-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](set-up-lambda-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-develop-integrations-lambda.md)  | 
|  [Network Load Balancer와의 프라이빗 통합](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](http-api-develop-integrations-private.md)  | 
|  [Application Load Balancer와의 프라이빗 통합](http-api-develop-integrations-private.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) [예](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | 
|  [와의 프라이빗 통합AWS Cloud Map](http-api-develop-integrations-private.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요   |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | 
|  [모의 통합](how-to-mock-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 
|  [응답 스트리밍](response-transfer-mode.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.svg) 예  | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.svg) 아니요  | 