Desde o momento em que o usuário aperta a tecla Enter do teclado até a página aparecer completamente carregada na tela, ocorre uma série de eventos. Como o navegador faz a chamada? Como a requisição sai do sistema operacional e chega ao servidor de destino? Como o HTTPS funciona? Como o servidor de aplicação se integra ao framework de desenvolvimento web? Neste livro, Willian Molinari nos mostra separadamente cada uma das peças de uma requisição web. Utilizando uma página HTML como exemplo, faremos um estudo unificado e focado no entendimento de como a internet funciona. Passaremos pela criação visual da interface do navegador, pela montagem dos pacotes dentro do kernel do sistema operacional, pelos dispositivos de rede da internet, e até mesmo pela integração do código da aplicação com o servidor web.
Um dos livros mais completos que eu já li, nota-se que o autor fez um estudo bem grande e bem detalhado em todos os capítulos. Recomendo o livro para pessoas que gostariam de relembrar alguns temas que fazem parte do dia a dia e que há muito tempo não estudam.
O livro traz uma série de referências de fontes para se aprofundar em um assunto que por muitos desenvolvedores é desconhecida: como realmente acontece entre uma requisição browser -> mundo. A maioria dos profissionais se agarram apenas à versão resumida de como esse processo funciona. Mas o PotHix foi muito além nesse livro de leitura fácil.
Já logo nos primeiros capítulos você conhece um monte de coisas interessantes, como por exemplo a lib glibc usa a função getaddrinfo que faz a requisição de registros IPv4 e IPv6 no servidor de DNS. Outra coisa, se temos um IPv4 e um IPv6, cade o IPv5? E o script Happy Eyeball? Detalhes como esses, fazem você se sentir um gênio em qualquer conversa sobre desenvolvimento web.
O livro se aprofunda muito, sem ficar muito confuso, sobre o processo de uma requisição web. Desde as entranhas do browser - que é abordado no início e no final do livro - até o que acontece nesse interim, que para mim, era o mais desconhecido. O interessante é que não fiquei com a impressão de que eu tinha que decorar tudo, saber tim tim por tim tim, exatamente por que o processo inteiro não vai te interessar dependendo da sua área de atuação. Mas com certeza é imprescindível que qualquer programador para internet, seja ele front-end ou back-end, sysadmin (esse precisa saber tudo mesmo, na minha opinião) tenha o mínimo de interesse sobre todo ou parte do processo. E não se preocupe se você é iniciante, você vai entender o processo inteiro, mesmo que não entenda todas as siglas, softwares e outras nomenclaturas usadas no livro.
Até hoje é o meu livro favorito da casa do código, altamente recomenda a qualquer pessoa que trabalha ou pretende trabalhar com tecnologias de desenvolvimento web
Eu tinha decidido não fazer o review durante esses 5 anos para não influenciar o rating, mas é inegável que esse é um livro que eu adoro. Eu faço review de tantos livros (fiz a conta agora e fiz mais de 150), portanto acho que é mais do que justo eu fazer desse também.
Vou aproveitar esse espaço para linkar para o conteúdo que eu escrevi que fala sobre como foi o processo de escrita do livro: https://pothix.com/desconstruindoaweb/. Espero que seja legal para quem encontrou esse review.
Espero que vocês gostem do livro como eu gosto! :)
Com uma ótima didática, PotHix detalha bem todo o processo que ocorre em uma requisição web.
Se você está começando a se aventurar com desenvolvimento de aplicações web a leitura é obrigatória.
Se você já é desenvolvedor e nunca teve paciência para estudar a RFC-2616 ou até hoje se complica todo para entender como funciona o HTTPS a leitura também é obrigatória.
Um dos grandes méritos do livro foi ter abordado grande parte de uma requisição web ponta a ponta. Como o próprio livro aponta, há vários materiais isolados sobre cada tema, mas é difícil encontrar um material que aborde o todo. O livro também é bastante enfático em comentar que seria impossível detalhar tudo em um livro de menos de 300 páginas. Há vários assuntos abordados que mereceriam um livro (ou mais) à parte.
Escrever um material com essas características (escopo grande com poucas páginas) é uma tarefa árdua não apenas porque é relativamente raro ter o conhecimento e poder de síntese necessários para tal, mas também porque é muito complicado tomar a decisão do quanto se aprofundar em cada parte. Se aprofunda demais, entra muito no detalhe, perde-se a visão do todo e sobra menos tempo para falar de outras coisas. Se aprofunda de menos, algumas coisas ficarão muito abstratas. Sem contar que o livro possui muitos públicos com diferentes níveis de conhecimento em cada uma das áreas apresentadas e é difícil agradar todo mundo. Uma coisa bacana é que no final de cada capítulo há uma lista de referências para quem quiser se aprofundar mais.
Dito tudo isso, acho que o livro possui muitos méritos apesar de eu não concordar com algumas das decisões tomadas em termo de aprofundamento, mas essa é uma questão bastante subjetiva.
Um exemplo foi o fato de ter se aprofundado bastante no capítulo "O Framework e a Aplicação", que trata de um tema que naturalmente terá ferramentas mais específicas, no caso, do mundo Ruby/Rails. Por mais que alguns conceitos possam ser abstraídos para outros ecossistemas, acredito que devs Ruby terão um aproveitamento melhor nesse capítulo, que é o maior ou um dos maiores. Acho que o livro teria um aproveitamento melhor se focasse um pouco mais nas outras partes. Não porque essa parte não foi interessante, muito pelo contrário, mas porque sobraria mais espaço para temas no qual devs tendem a ser mais deficitários, que acredito ser nas camadas de mais baixo nível.
Gostei do livro. As vezes em que era comentado alguma API de baixo nível, por exemplo sockets, eu ficava curioso em como seria a implementação e na página seguinte tinha um exemplo saciando minha curiosidade. Eu entendo a "polêmica" em cima do Cap 9, que mostra um monte de código interno do Rails de como as coisas funcionam, mas não vejo solução. Já que o foco foi Rails, era necessário essa complexidade, se tivesse sido Sinatra seria mais fácil mas é outro foco. 4.8 na minha opinião, arredondei pra 5 no Goodreads.
Excelente apresentação sobre como que as coisas que geralmente são referidas com "web" funcionam, incluindo uma excelente descrição básica sobre o framework Ruby on Rails!
Considero como uma leitura obrigatória se vc desenvolve para web. No livro, o autor divide em capítulo cada momento de uma requisição e detalha tecnicamente os detalhes.
Um dos pontos fortes do livro que além de explicar em detalhes, ele provém ferramentas de como depurar e verificar os detalhes em baixo nível. Uma excelente referência para debugging de problema.
Em alguns momentos o autor mergulha em um nível bem baixo, te fazendo a relembrar a assuntos que foram estudados em um curso superior. Se não tiver esta base, o assunto pode ficar muito mais denso.
Excelente leitura! Toda pessoa interessada no assunto, deveria ter uma cópia à mão. Não apenas os iniciantes, mas também os usuários avançados. Todos deveriam lê-lo do início ao fim, como forma de terem contato com as principais palavras-chave da área, ou mesmo uma lista extensa de todas as RFCs que poderão ser consultadas para o devido aprofundamento no assunto. O livro é praticamente um índice de 234 páginas. Fazendo uso do livro como um guia para estudos na área, você terá a sua frente um universo vasto de temas para posterior aprofundamento, que com certeza irão lhe proporcionar um conhecimento sólido entre os profissionais da área. Não se deixe impressionar pelas inúmeras linhas de comando ou trechos de códigos, todos eles farão mais sentido no momento em que estiver colocando seu conhecimento em prática. Outra característica do livro que não está tão à mostra, mas que é fundamental para aqueles que desejam ser bem sucedidos na área, é a postura do autor em não se contentar com as informações superficiais e ir em busca do conhecimento completo. E para isso ele faz uso de diversos recursos, tais como o uso de ferramentas para entender protocolos, acessa o código fonte para tornar claro o funcionamento e acima de tudo, não se limita à literatura convencional para descobrir como realmente tudo funciona.
Acredito que todo profissional que trabalha com web tem que ler esse livro! Tudo o que passa por debaixo dos panos nos navegadores, ele simplesmente explicado tudo sobre HTTP e dentre outras coisas. Acredito que esse livro está em um dos mais tops que li!
Se você é programador ou está de alguma forma envolvido com aplicações web, servidores, redes ou simplesmente tem curiosidade de entender como a web funciona por baixo dos panos, nos mínimos detalhes, você deveria ler esse livro.
Fique tranquilo, esse não é um daqueles livros chatos que você tem que ler na faculdade. Pra você ter uma idéia, o certificado HTTPS é explicado não apenas da forma tradicional, mas também através de uma metáfora com o Senhor dos Anéis :p
Alguns capítulos se focam bastante na área de redes e embora eu ache interessante, eu não uso no dia-a-dia e vou acabar esquecendo vários conceitos explicados :-)
Desconstruindo a Web é um ótimo livro, que esclareceu muitas coisas "obscuras" que acontecem numa simples requisição web.
Gostei bastante do capítulo que trata de Rails. Além de mostrar como a requisição "entra" no framework, o autor também passou por todas as suas camadas, ajudando bastante a entender como funcionam certas "mágicas".
Para que o leitor possa usufruir bastante do conteúdo, recomendo que seu nível de conhecimento técnico seja algo mais do que iniciante, visto que, em determinados momentos, a leitura se torna bastante densa.
Por fim, é uma leitura muito informativa, e tenho certeza que o leitor aprenderá muitas coisas novas, recomendo.
Diria que se você não quer se tornar um engenheiro de redes, esse livro é suficiente para você entender a natureza de uma requisição web. Muita gente, inclusive os próprios desenvolvedores web, devem achar que uma requisição web é toda gerenciada pelo navegador, o que com esse livro fica bem claro que não é verdade. Existem elementos e camadas complexas para uma requisição que dura um mísero segundo e que seu entendimento não é tão simples assim. O autor facilita bastante a nossa vida simplificando elementos e abstraindo conteúdos que poderiam atrapalhar nossa percepção de uma maneira mais geral. Recomendo!
E não é que mesmo depois de alguns anos trabalhando com web a gente encontra muito o que aprender? Eu já havia assisitdo a palestra do Pothix (William Molinari) sobre o assunto duas vezes e sempre ficava me perguntando o quanto seria possível descer mais o nível com detalhes e nesse livro ele me mostrou até onde podemos ir. Essa jornada foi muito importante para iluminar várias peças que eu não conhecia, principalmente em como sua placa de rede conversa com o Linux e afins. Enfim, esse é um livro recomendadíssimo para todo desenvolvedor web.
Livro essencial para todos que querem trabalhar com web, não se restrigindo apenas a desenvolvedores. Tópicos muito bem detalhados, seguidos por referências completas para se aprofundar em qualquer assunto citado.
A maneira como os capítulos se apresentam tornam a leitura fácil e rápida. Seria bem bacana ver alguns relatos da galera explorando a stack com outras linguagens e frameworks. Ou então, quem sabe, um "volume 2" com um compilado de linguagens/frameworks mostrando o que ocorre no server-side :)
Ótimo trabalho de pesquisa do amigo PotHix, muito bem explicado e cheio de referências nerds. Embora eu não trabalhe com web e muito menos com algumas ferramentas no livro descritas, eu consegui aprender muita coisa interessante sobre rede e servidores web. Vários assuntos me despertaram curiosidade e me vi fazendo várias pesquisas durante a leitura do livro. Essencial para qualquer desenvolvedor que trabalha, mesmo que eventualmente, com Web.
O autor explica detalhes envolvidos nas mais diversas camadas de uma requisição web, além de colocar todas as referências e RFCs envolvidas de uma maneira bem didática. É com certeza uma boa leitura para desenvolvedores web, visto que amplia bem a visão geral sobre vários assuntos diferentes. O livro aborda até alguns aspectos sobre unix programming que já havia estudado, e depois de ler o livro ficou mais claro .
Great book. It's particularly interesting the traversal way the author describes the process. Very useful. Nevertheless, I missed the detail in the response process. For example, the interrupt network card generates when the package arrives, the information in aplication layer so that OS knows which browser instance is the "owner" of the package response etc. I also missed examples from other programming languages.
O autor fez um trabalho sensacional de catalogar e organizar o passo-a-passo de uma requisição web! Há muitos links de referências para continuar as leituras em pontos de maior interesse. Também é muito interessante de cair de cabeça em alguns códigos open-source que muita das vezes não paramos para analisar e ficamos só nas abstrações. É super interessante entender como algo foi implementado por debaixo dos panos. :)
Desconstruindo a Web, é um ótimo livro para quem quer entender o processo que acontece desde uma requisição no navegador até a renderização no mesmo. É um dos primeiros livros que leio que consegue explicar o processo e não as partes. O PotHix conseguiu amarrar muitos assuntos que normalmente são tratados de forma independentes.
Excelente! Cobriu toda a jornada de uma requisição web em especial para o ecossistema do Ruby on rails. Possui excelentes referências p/ mais leituras. Um trabalho de pesquisa e escrita formidável.
Boa leitura que tive em 2024. William/PotHix fez um excelente trabalho junto com todos os revisores, o livro mesmo sendo técnico conduz de muito boa forma para leitura. Sobre elementos que se tem a sensação de saber o quê, entretanto depois se ficar com a pulga na orelha do "mas como será que isso funciona mesmo" o livro é excelente em nos fazer pensar e dar as indicações de caminhos, dando as explicações e várias referências de onde ir para se aprofundar cada vez mais sobre a Web. O conteúdo é bem amplo, e onde não é específico deixa bastante indicações de referências caso se queira especializar na parte do conteúdo de cada capítulo, um que fiz isso foi na parte do "three-way handshake do TCP" no cap. 4, que tinha mais desconhecimento e me deixou bem curioso. Recomendo muito, principalmente pelo conteúdo ser bem intemporal sobre a Web, de constantes mudanças mas que possui pilares que em base se continuam os mesmos e são bem demonstrados pelo autor.
Em 2017, abrir um navegador, chamar uma página e simplesmente interagir com o resultado parece algo tão trivial e tão lugar comum, que muita gente sequer imagina as peças necessárias para fazer tudo funcionar.
O livro é um tour de force do Willian por todas as camadas que compõe a Web. Saindo do navegador, passando por todas as etapas de rede até chegar no servidor de aplicação e voltar. E quando uma página volta, ele também explica como seu navegador processa "aquele tal de HTML" para te entregar conteúdo.
O PotHix é meu amigo e eu já vi a apresentação que acompanha uma porção de vezes. Ainda assim, o livro vale todo o investimento colocado nele. Deveria ser considerado leitura básica para qualquer aspirante à Desenvolvedor Web (e para a reciclagem de muito profissional enferrujado).