WebSockets em Zig: Handshake, Frames e Servidor em Tempo Real
Para implementar WebSockets em Zig, trate o canal como dois contratos distintos: um handshake HTTP Upgrade que valida headers e devolve 101 Switching Protocols, e um loop …
Para implementar WebSockets em Zig, trate o canal como dois contratos distintos: um handshake HTTP Upgrade que valida headers e devolve 101 Switching Protocols, e um loop …
Para obter o IP real do cliente em um serviço Zig atrás de proxy, nunca leia X-Forwarded-For de forma cega. Aceite headers de encaminhamento somente quando o peer TCP …
Para implementar HTTP Range em Zig, aceite inicialmente um único intervalo no formato bytes=início-fim, valide-o contra o tamanho atual do arquivo e responda com 206 …
Para adicionar compressão HTTP a um serviço Zig, negocie o formato pelo header Accept-Encoding, comprima apenas respostas textuais que tenham tamanho suficiente e envie …
Para implementar cookies e sessões em uma API Zig com segurança, envie ao navegador apenas um identificador de sessão aleatório e mantenha os dados confiáveis no …
Para configurar CORS em uma API Zig, trate o header Origin como entrada não confiável, compare-o com uma lista explícita de origens permitidas e devolva os headers CORS …
Para tratar redirecionamentos HTTP em Zig com segurança, não basta repetir a requisição para o valor de Location. O cliente precisa distinguir 301, 302, 303, 307 e 308, …
Para implementar cache HTTP em Zig, guarde o corpo da resposta junto com o valor de ETag. Na próxima requisição, envie esse valor no header If-None-Match. Se o servidor …
Para fazer um download de arquivo em Zig com segurança, não basta executar um GET e salvar qualquer resposta recebida. O fluxo robusto é: usar std.http.Client, aceitar …
Para fazer upload de arquivos em Zig para uma API que aceita multipart/form-data, você precisa montar um corpo HTTP com um boundary, adicionar um bloco para cada campo ou …
Serviços falham de formas pouco educadas. Uma API externa fica lenta antes de cair, um banco começa a responder timeout, um provedor de pagamento devolve 500 por alguns …
Rate limiting é uma daquelas peças pequenas que separam um serviço experimental de um serviço operável. Sem limite, um cliente com bug, um crawler agressivo ou uma …
Webhooks parecem simples até o primeiro incidente. Um serviço externo envia um POST, seu servidor responde 200, e pronto. Na prática, o endpoint precisa lidar com corpo …
Upload de arquivos parece um detalhe simples de produto: receber um PDF, uma imagem, um CSV ou um pacote gerado pelo usuário. Em produção, porém, ele vira uma das …
Nem toda interface em tempo real precisa de WebSocket. Muitas telas só precisam receber atualizações do servidor: progresso de um job, logs de deploy, status de uma fila, …
Colocar um servidor HTTP em Zig no ar é simples. Manter esse servidor previsível em produção exige mais disciplina: limite de corpo, logs que ajudam a investigar …
Construir uma API REST em Zig é diferente de repetir o modelo de um framework web pronto. Zig não tenta esconder o custo de cada alocação, cópia ou bloqueio; por isso, …
Desenvolvimento Web com Zig Zig pode não ser a primeira linguagem que vem à mente quando se fala em desenvolvimento web, mas suas características únicas — performance …
Perguntas de Entrevista sobre Networking em Zig Programação de rede é um tema frequente em entrevistas para posições de sistemas, backend e infraestrutura. O Zig oferece …
std.http — HTTP Client e Server O módulo std.http fornece uma implementação completa de HTTP/1.1 na biblioteca padrão do Zig, incluindo tanto um cliente para fazer …
std.http.Client — Cliente HTTP O std.http.Client permite fazer requisições HTTP/1.1 a servidores remotos. Ele suporta todos os métodos HTTP, cabeçalhos customizados, …
Web Scraper em Zig — Tutorial Passo a Passo Neste tutorial, vamos construir um web scraper em Zig que faz requisições HTTP, extrai informações de páginas HTML e salva os …
Introdução Requisições HTTP GET são a forma mais comum de buscar dados da web. Em Zig, a biblioteca padrão oferece std.http.Client para fazer requisições HTTP com …
Introdução Requisições HTTP POST são usadas para enviar dados ao servidor, como payloads JSON, formulários e comandos para uma API REST. Diferente do GET, que apenas …
JSON é o formato de dados mais popular da web moderna. APIs REST, configurações, logs e troca de dados entre sistemas usam JSON. Saber trabalhar com JSON é uma habilidade …
Fazer requisições HTTP é uma necessidade fundamental em quase todo software moderno. Seja para consumir APIs REST, fazer webhooks, baixar artefatos ou integrar com …
Criar servidores HTTP é essencial para desenvolvimento backend moderno. Com Zig, você pode construir APIs pequenas, previsíveis e fáceis de distribuir como binários …
Resposta rápida: um zig http server (também buscado como http server zig, zig server ou zig web) começa com std.net.Address.listen, server.accept() e std.http.Server para …