As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Cross-origin suporte ao compartilhamento de recursos e Amazon EC2
A API do Amazon EC2 oferece suporte ao compartilhamento de recursos de origem cruzada (CORS). O CORS define uma forma de os aplicativos web do cliente carregados em um domínio interagirem com recursos em um domínio diferente. Para obter mais informações, acesse a Recomendação do W3C sobre compartilhamento de Cross-Origin recursosmywebsite.example.com Normalmente, um navegador JavaScript impede que essas solicitações sejam permitidas, mas com o CORS, você pode fazer chamadas de API do Amazon EC2 de origem cruzada a partir de. mywebsite.example.com
O CORS já está habilitado para a API do Amazon EC2 e está pronto para ser usado. Você não precisa executar nenhuma etapa adicional de configuração para começar a usar esse recurso. Não há alteração na forma como você faz chamadas para a API do Amazon EC2; elas ainda devem ser assinadas com AWS credenciais válidas para garantir AWS a autenticação do solicitante. Para obter mais informações, consulte Solicitações de AWS API de assinatura no Guia do usuário do IAM.
A implementação do CORS na API do Amazon EC2 é padronizada. Seu aplicativo pode enviar uma solicitação simples para a API do Amazon EC2 ou, dependendo do conteúdo da solicitação, uma solicitação de preflight seguida por uma solicitação real. O Amazon EC2 permite a solicitação de qualquer origem
Para obter mais informações sobre o CORS e exemplos de como ele funciona, consulte o seguinte artigo na Mozilla Developer Network: controle de acesso HTTP (CORS
Solicitações simples
A seguir estão os critérios que definem uma solicitação simples ou real:
-
As solicitações usam somente os métodos
GETouPOSTHTTP. Se oPOSTmétodo for usado, sóContent-Typepoderá ser um dos seguintes:application/x-www-form-urlencoded,multipart/form-data, outext/plain. -
As solicitações não definem cabeçalhos personalizados, como
X-Other-Header.
O Amazon EC2 permite a solicitação de qualquer origem. Qualquer POST solicitação GET ou solicitação que tente usar as credenciais do navegador definindo o Access-Control-Allow-Credentials valor como true (ondeXMLHttpRequest.withCredentials = true) falhará.
As informações a seguir descrevem os cabeçalhos de solicitação para o Amazon EC2:
Valores de cabeçalho de solicitação simples
Origin: especifica o domínio que gostaria de acessar o recurso (nesse caso, o recurso é o Amazon EC2). Isso é inserido pelo navegador em uma solicitação de origem cruzada.
As informações a seguir descrevem os cabeçalhos de resposta que o Amazon EC2 retorna (ou não retorna) após uma solicitação simples ou real:
Valores de cabeçalho de resposta simples
-
Access-Control-Allow-Origin: especifica o domínio que pode acessar o recurso (nesse caso, o recurso é o Amazon EC2). Isso sempre é retornado com um valor *. Portanto, o Amazon EC2 permite qualquer origem entre domínios e nunca permite credenciais de navegador, como cookies. -
Access-Control-Allow-Credentials: indica se as credenciais do navegador podem ser usadas para fazer a solicitação real. Isso nunca é devolvido. Portanto, o navegador deve interpretar o valor comoAccess-Control-Allow-Credentials: false.
Solicitações de pré-voo
Se o conteúdo da sua solicitação atender aos critérios abaixo, sua solicitação será verificada para verificar se a solicitação real deve ser enviada. Uma solicitação de preflight primeiro envia uma solicitação HTTP para o recurso (nesse caso, Amazon EC2) usando o OPTIONS método.
A seguir estão os critérios que definem uma solicitação de pré-voo:
-
As solicitações usam métodos HTTP diferentes de
GETouPOST. No entanto, se oPOSTmétodo for usado, nãoContent-Typeserá um dos seguintes:application/x-www-form-urlencoded,multipart/form-data, outext/plain. -
As solicitações definem cabeçalhos personalizados; por exemplo,
X-Other-Header.
A implementação do Amazon EC2 CORS permite qualquer cabeçalho e permite qualquer origem na solicitação real.
As informações a seguir descrevem os cabeçalhos da solicitação de preflight para o Amazon EC2:
Valores do cabeçalho da solicitação Preflight
-
Origin: especifica o domínio que gostaria de acessar o recurso (nesse caso, o recurso é o Amazon EC2). Isso é inserido pelo navegador em uma solicitação de origem cruzada. -
Access-Control-Request-Method: o método HTTP a ser usado na solicitação real do navegador. -
Access-Control-Request-Headers: os cabeçalhos personalizados a serem enviados na solicitação real de origem cruzada.
As informações a seguir são sobre os cabeçalhos de resposta que o Amazon EC2 retorna (ou não retorna) após uma solicitação de pré-voo:
Valores do cabeçalho de resposta do Preflight
-
Access-Control-Allow-Origin: especifica o domínio que pode acessar o recurso (nesse caso, o recurso é o Amazon EC2). Isso sempre é retornado com um valor *. Portanto, o Amazon EC2 permite qualquer origem entre domínios e nunca permite credenciais de navegador, como cookies. -
Access-Control-Allow-Credentials: indica se as credenciais do navegador podem ser usadas para fazer a solicitação real. Isso nunca é devolvido pelo Amazon EC2. Portanto, o navegador deve interpretar o valor comoAccess-Control-Allow-Credentials: false. -
Access-Control-Expose-Headers: permite que os cabeçalhos sejam expostos ao navegador. Isso nunca é devolvido pelo Amazon EC2. Portanto, nenhum cabeçalho de retorno do Amazon EC2 pode ser lido pelo domínio solicitante. -
Access-Control-Max-Age: especifica por quanto tempo os resultados da solicitação de preflight podem ser armazenados em cache. O valor é definido para 1800 segundos (30 minutos). -
Access-Control-Allow-Methods: indica quais métodos são permitidos ao fazer uma solicitação real. Os seguintes métodos são permitidos:GETPOSTOPTIONS,DELETE,,PUTe. Isso também depende de como você está chamando a API do Amazon EC2; por exemplo, usando a API de consulta ou usando REST. -
Access-Control-Allow-Headers: indica quais cabeçalhos podem ser usados na solicitação real. O Amazon EC2 aceita qualquer cabeçalho em solicitações de pré-voo. Se os cabeçalhos HTTP não forem relevantes na solicitação real, eles serão ignorados.