Dicas e exemplos de sites estáticos

Nesta página, mostraremos exemplos e dicas sobre como usar intervalos para hospedar um site estático.

Exemplos de configuração do site

Nos cenários a seguir, demonstraremos os objetos que são disponibilizados quando você tenta acessá-los com vários URLs.

Intervalo de três objetos

Suponha que um intervalo denominado www.example.com tenha sido configurado como um site com as seguintes configurações e arquivos:

  • MainPageSuffix = "index.html"
  • NotFoundPage = "404.html"
  • O intervalo contém três objetos compartilhados publicamente: “index.html”, “404.html” e “dir/index.html”.

Na tabela a seguir, veja o conteúdo exibido para URLs selecionados:

URL solicitado Conteúdo disponibilizado Código de resposta HTTP
http://www.example.com
http://www.example.com/ http://www.example.com/index.html
O objeto "index.html". 200
http://www.example.com/hello O objeto "404.html". 404
http://www.example.com/dir/index.html O objeto "dir/index.html". 200
http://www.example.com/dir O objeto "dir/index.html". 301
http://www.example.com/dir/ O objeto "dir/index.html", presumindo que não haja objeto de zero bytes para /dir/ 200
Um objeto vazio de zero bytes, se existir para /dir/. Consulte o tópico solução de problemas para remover este objeto zero bytes. 301

Intervalo de dois objetos

Suponha que um intervalo denominado www.example.com tenha sido configurado como um site com as seguintes configurações e arquivos:

  • MainPageSuffix = "main.html"
  • NotFoundPage = "404.html"
  • O intervalo contém dois objetos compartilhados publicamente: "main.html" e "404.html".

Na tabela a seguir, veja o conteúdo exibido para URLs selecionados:

URL solicitado Conteúdo disponibilizado Código de resposta HTTP
http://www.example.com
http://www.example.com/
O objeto "main.html". 200
http://www.example.com/index.html O objeto "404.html". 404

Se um objeto for compartilhado publicamente, você também poderá vê-lo com o URL:

http://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]

Por exemplo, o URL de um objeto index.html seria:

http://storage.googleapis.com/www.example.com/index.html

Para mais informações sobre como trabalhar com dados acessíveis publicamente, consulte Como acessar dados públicos.

Dicas sobre como trabalhar com um intervalo configurado como um site

A seguir, algumas dicas a serem lembradas ao usar um intervalo para hospedar um site estático.

Como adicionar subdomínios

Suponha que você também queira disponibilizar conteúdo em test.example.com, de um intervalo diferente do que exibe conteúdo em www.example.com. Sendo assim:

  1. Crie um novo intervalo test.example.com. Como você já verificou o domínio example.com, é possível criar intervalos para dar suporte a subdomínios sem verificação adicional.

  2. Adicione um novo registro CNAME para o subdomínio.

    NAME                  TYPE     DATA
    test                  CNAME    c.storage.googleapis.com.
    

Como configurar parâmetros de cache

É possível controlar como ou se os recursos de seu site são armazenados em cache configurando os metadados Cache-Control. Em geral, apenas defina metadados de controle de cache para objetos acessíveis a todos os usuários anônimos, o que é um requisito para qualquer objeto exibido de um intervalo do Cloud Storage como parte de um site estático.

O Cloud Storage aplica uma configuração de controle de cache de 3600 segundos a objetos acessíveis a todos os usuários anônimos, a menos que você especifique configurações explícitas de controle de cache. Consulte Visualização e edição de metadados para mais instruções sobre como configurar metadados de objetos, como Cache-Control.

Comportamento da API

As configurações do site MainPageSuffix e NotFoundPage são usadas apenas para solicitações do Cloud Storage por meio do endpoint CNAME ou do Cloud Load Balancing. Por exemplo, uma solicitação para www.example.com mostra a página de índice, mas uma solicitação equivalente para storage.googleapis.com/www.example.com não.

Assim, o comportamento da API para solicitações de domínios do Cloud Storage, como storage.googleapis.com/www.example.com, é preservado. Por exemplo, é possível listar objetos no intervalo www.example.com como faria com qualquer outro No caso do intervalo www.example.com, a listagem de objetos que você recebe inclui 404.html e index.html.

Como hospedar recursos estáticos para um site dinâmico

É possível usar o Cloud Storage para hospedar recursos estáticos de um site dinâmico hospedado, por exemplo, no Google App Engine ou no Google Compute Engine. Algumas vantagens de hospedar em um intervalo seus recursos estáticos, como imagens ou arquivos JavaScript, incluem:

  • O armazenamento em nuvem se comporta essencialmente como uma Rede de Fornecimento de Conteúdo (CDN, na sigla em inglês) sem nenhum trabalho de sua parte, já que os objetos legíveis publicamente são, por padrão, armazenados em cache na rede do Cloud Storage.

  • As taxas de largura de banda para acessar o conteúdo geralmente custam menos com o Cloud Storage.

  • A carga nos servidores da Web é reduzida quando o conteúdo estático do Cloud Storage é exibido.

Também é possível controlar o armazenamento em cache, como desativar o armazenamento em cache ou definir o tempo de vida do cache, para seus recursos estáticos legíveis publicamente usando cabeçalhos de solicitação de controle de cache. Para mais informações, consulte Como definir parâmetros de cache.

Ao hospedar recursos estáticos para um site dinâmico, não é necessário criar um registro CNAME e apontar para um intervalo com o mesmo nome, como se faz no caso de um site estático. Por exemplo, é possível ter um intervalo chamado www_example_com_assets com recursos apropriados configurados como compartilhados publicamente e acessar esses recursos usando o domínio do Cloud Storage. Por exemplo, se você tiver o arquivo JavaScript library.js no intervalo www_example_com_assets compartilhado publicamente, será possível acessá-lo como http://storage.googleapis.com/www_example_com_assets/library.js.

Monitorar suas cobranças de armazenamento

Se você estiver exibindo recursos de um intervalo configurado como um site estático ou exibindo recursos estáticos de um intervalo para um site dinâmico hospedado fora do Cloud Storage, monitore as cobranças para o projeto que contém o intervalo. A disponibilização de conteúdo incorre em custos de armazenamento, uso de rede e execução de operações de recuperação do Cloud Storage. Para saber mais, consulte a página de preços do Cloud Storage.

O exemplo de precificação simples na página de preços pode ser usado como uma aproximação para o caso de uso de um site estático de baixo tráfego. Use a calculadora de preços para gerar uma estimativa de custo com base no uso previsto.

Novos usuários do Google Cloud podem estar qualificados para uma avaliação gratuita.

Se você já é um usuário do Google Cloud, veja uma análise detalhada dos custos do projeto na página de faturamento.

Solução de problemas

Consulte Solução de problemas para erros comuns relacionados ao uso de um intervalo configurado para exibir conteúdo estático do site.

A seguir