

# Personalizar na borda com funções
<a name="edge-functions"></a>

Com o Amazon CloudFront, você pode escrever seu próprio código para personalizar como suas distribuições do CloudFront processam solicitações e respostas HTTP. O código é executado perto dos visualizadores (usuários) para minimizar a latência e você não precisa gerenciar servidores ou outra infraestrutura. Você pode escrever código para manipular as solicitações e respostas que fluem pelo CloudFront, executar autenticação e autorização básicas, gerar respostas HTTP na borda e muito mais.

O código que você escreve e anexa à sua distribuição do CloudFront é chamado de *função da borda*. O CloudFront oferece duas maneiras de escrever e gerenciar funções da borda:

**CloudFront Functions**  
É possível escrever funções leves em JavaScript para personalizações de CDN de alta escala e sensíveis à latência. O ambiente de tempo de execução do CloudFront Functions oferece tempos de startup de submilissegundos, é dimensionado imediatamente para lidar com milhões de solicitações por segundo e é altamente seguro. O CloudFront Functions é um recurso nativo do CloudFront, o que significa que você pode criar, testar e implantar seu código inteiramente no CloudFront.

**Lambda@Edge**  
O Lambda@Edge é uma extensão do [AWS Lambda](https://aws.amazon.com/lambda/) que oferece computação avançada e flexível para funções complexas e lógica completa de aplicações mais perto dos visualizadores, além de ser altamente seguro. As funções do Lambda@Edge são executadas em um ambiente de tempo de execução Node.js ou Python. Você as publica em uma única Região da AWS e ao associar a função a uma distribuição do CloudFront, o Lambda@Edge replica automaticamente o código no mundo todo.

Se você executa AWS WAF no CloudFront, é possível usar cabeçalhos AWS WAF inseridos para o CloudFront Functions e para o Lambda@Edge. Isso funciona para solicitações e respostas do visualizador e da origem.

**Topics**
+ [Diferenças entre o CloudFront Functions e o Lambda@Edge](edge-functions-choosing.md)
+ [Personalizar na borda com o CloudFront Functions](cloudfront-functions.md)
+ [Personalizar com funções de conexão do CloudFront Functions](customize-connections-validation-with-connection-functions.md)
+ [Personalização na borda com o Lambda@Edge](lambda-at-the-edge.md)
+ [Restrições das funções de borda](edge-functions-restrictions.md)