> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Executar um servidor HTTP para testes

> Como instalar o http-server do Node.js e servir arquivos HTML estáticos localmente para acompanhar os tutoriais de autenticação do PlayFab para Facebook, Google ou Twitch.

Em alguns cenários, talvez seja necessário executar um servidor HTTP local para fins de teste. Por exemplo, se você estiver seguindo nossos tutoriais de configuração da autenticação do PlayFab usando [Facebook e HTML5](/pt-BR/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5), [Google e HTML5](/pt-BR/services/playfab/identity/player-identity/platform-specific-authentication/google-html5) ou [Twitch e HTML5](/pt-BR/services/playfab/identity/player-identity/platform-specific-authentication/twitch-html5) e não tiver um servidor remoto com um domínio, este tutorial poderá ser útil.

## Pré-requisitos

* [Node.JS](https://nodejs.org/en/) instalado

## Instalar o servidor HTTP usando o npm

Abra a linha de comando/terminal do seu sistema (não importa em qual diretório você está no momento).

Execute `npm install -g http-server`. Quando o npm terminar, você terá o pequeno servidor HTTP instalado. Pronto.

## Servir arquivos

Crie uma nova pasta no sistema a partir da qual você deseja servir seus arquivos estáticos. Não há restrições específicas de caminho no Windows.

No macOS, talvez seja necessário verificar o acesso à pasta. Dentro da pasta recém-criada, crie um arquivo chamado **index.html**.

Preencha o arquivo com o conteúdo fornecido abaixo.

```html theme={null}
<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>My Page</title>
</head>

<body>
 <p>Hello world!</p>
</body>
</html>
```

Abra a **linha de comando/terminal** e use cd para ir até a pasta com o arquivo **index.html**. Em seguida:

1. Execute **http-server**.
2. O **HTTP-server** começará a servir arquivos do diretório atual.
3. Ele também exibirá todos os pontos de extremidade de **IP** nos quais o servidor está escutando.
4. Use um deles para acessar seu servidor Web pelo navegador.
5. Observe sua página sendo carregada.

<img src="https://mintcdn.com/microsoft-4404708b/mLCHf0iQv3VidfBe/images/playfab/identity/player-identity/platform-specific-authentication/tutorials/serving-files-with-http-server.png?fit=max&auto=format&n=mLCHf0iQv3VidfBe&q=85&s=d01d646ad860fd92c2917526c08f06f5" alt="Servir arquivos com o comando http-server" width="1225" height="602" data-path="images/playfab/identity/player-identity/platform-specific-authentication/tutorials/serving-files-with-http-server.png" />

Opcionalmente, você pode especificar uma porta na qual executar o servidor.

* **Exemplo**: execute `http-server -p 80` para executar o servidor na **porta 80**. Se uma porta estiver ocupada, você precisará descobrir qual aplicativo a está usando e encerrá-lo antes de tentar executar o servidor HTTP novamente.

### Servir arquivos com um nome de domínio personalizado

Ao testar diferentes SDKs, por exemplo, [Google](/pt-BR/services/playfab/identity/player-identity/platform-specific-authentication/google-html5) ou [Facebook](/pt-BR/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5), você perceberá que alguns serviços só podem ser configurados com um nome de domínio válido.

Por exemplo, eles não aceitam um endereço IP simples + porta. Determinados serviços usam essa configuração para garantir que o navegador busque seu código de um domínio específico e seguro.

Eles também costumam usar essa configuração para garantir que um usuário só possa fazer login no seu aplicativo a partir do seu domínio e que ninguém mais possa falsificá-lo e roubar dados de usuários.

<Note>
  Embora essa seja uma restrição de segurança importante e útil, ela pode causar complicações ao tentar testar seu código localmente.
</Note>

Se você executar o servidor na porta 80 e seu caso de uso for simples o bastante, poderá usar o arquivo HOSTS do sistema operacional para acessar o servidor HTTP por meio de um nome de domínio válido.

O arquivo HOSTS é um arquivo especial disponível no Windows e no macOS. Ele permite substituir determinados nomes de domínio por pontos de extremidade personalizados. Esquematicamente, o arquivo HOSTS tem esta aparência:

```cmd theme={null}
IP_ADDRESS_1 DOMAIN_NAME_1
IP_ADDRESS_2 DOMAIN_NAME_2
IP_ADDRESS_3 DOMAIN_NAME_3

# This is comment
# IP_ADDRESS_4 DOMAIN_NAME_4 <- this entry is commented out and is inactive
...
```

Cada linha representa exatamente *uma* entrada. Quando você tenta acessar `DOMAIN_NAME_1`, o navegador direciona sua solicitação para `IP_ADDRESS_1`.

O mesmo se aplica a *cada* entrada no arquivo HOSTS. No exemplo anterior, a entrada número `4` começa com `#`. Essa é a sintaxe de comentário.

Ao *comentar* determinadas entradas, você pode desabilitá-las sem necessariamente removê-las do arquivo HOSTS.

`playfab.example` é um nome de domínio válido, mas é improvável que seu navegador acesse algum site com ele. Ao adicionar a entrada a seguir ao arquivo HOSTS, você poderá acessar seu servidor HTTP local com esse nome de domínio.

```cmd theme={null}
127.0.0.1 playfab.example
```

<Note>
  Se você estiver usando uma porta diferente da 80, precisará adicionar a porta criada quando o servidor local foi iniciado (como a porta 8080) ao final da URL (`<playfab.example:8080>`)
</Note>

<img src="https://mintcdn.com/microsoft-4404708b/mLCHf0iQv3VidfBe/images/playfab/identity/player-identity/platform-specific-authentication/tutorials/http-server-hello-world.png?fit=max&auto=format&n=mLCHf0iQv3VidfBe&q=85&s=cdcc112f35435bdb52872c45a6c4627a" alt="Servidor HTTP: Hello World" width="660" height="173" data-path="images/playfab/identity/player-identity/platform-specific-authentication/tutorials/http-server-hello-world.png" />

No Windows, o arquivo HOSTS normalmente fica em:

`C:\Windows\System32\drivers\etc\hosts`.

No macOS, o arquivo HOSTS normalmente fica em:

`/private/etc/hosts`.

<Warning>
  Ao inserir o nome de domínio na barra de endereços do navegador, sempre inclua o esquema: `<http://playfab.example>`.
</Warning>


## Related topics

- [Configurar a autenticação do PlayFab usando Twitch e HTML5](/pt-BR/services/playfab/identity/player-identity/platform-specific-authentication/twitch-html5.md)
- [Configurar a autenticação do PlayFab usando Google e HTML5](/pt-BR/services/playfab/identity/player-identity/platform-specific-authentication/google-html5.md)
- [Configurar a autenticação do PlayFab usando Facebook e HTML5](/pt-BR/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5.md)
- [Visão geral da configuração de stream do Aplicativo de Teste de Conteúdo (CTA)](/pt-BR/build/core-features/common/game-streaming/game-streaming-content-test-application-stream-config.md)
- [Teste e depuração do projeto GSDK](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-local-deployment-and-debugging.md)
