Web server: o que é e como funciona?
Olá pessoal! Comecei um canal no YouTube e publiquei hoje meu primeiro vídeo: https://youtu.be/i40jgQxZ5SY
O assunto é: o que é um servidor web e como funciona?
Acredito que muita gente que trabalha com web nunca parou pra olhar a fundo o funcionamento de um servidor web. Frameworks modernos escodem estes detalhes. Nesse vídeo tento explicar como isto funciona em um vídeo curto e direto ao ponto.
Se ficou algo faltando no vídeo, fiquem a vontade pra pedir aqui. Se gostarem e quiserem ver um conteúdo específico de algo mais detalhado, diz aê!
Eae Andre. Muito massa sua iniciativa, da uma visão bem geral de como é o por baixo dos panos de uma comunicação entre cliente e servidor via http. Algumas coisas que eu notei:
- Acho que você começou o vídeo já com os 2 pés no peito de quem está assistindo. Acho que seria legal falar tipo: "Eae pessoal, meu nome é André, e hoje vou explicar para vocês como funciona ... Então, quando você abre o navegador....".
- Você perdeu alguns segundos explicando por exemplo que é possível substituir a palavra localhost na URL por 127.0.0.1, mas para poupar tempo deixou de explicar muitas coisas como UDP (que realmente é irrelevante para o vídeo, mas já que tocou no termo, deveria ter dado um exemplo), portas, status code, content-type, etc. Eu acho que houve uma inversão de prioridades, onde você perdeu um certo tempo explicando algumas coisas que não precisava, mas o que de fato precisava, você pulou.
- Em um certo momento, você diz que vai explicar depois o que é o Content-type, mas não explica.
- Eu senti um desconforto quando você menciona algumas coisas como protocolo HTTP, e diz que "Isso não é importante". Eu entendi que você quer dizer que é um assunto muito denso, e que demoraria muito para explicar, mas eu não diria isso como "Não é importante".
- Algumas partes ficaram confusas, por exemplo: Você roda a aplicação no endereço localhost, ou 127.0.0.1, porém no código está escutando a porta 0.0.0.0. Acho que faltou explicar um pouco mais sobre isso, e pq mesmo eu colocando 0.0.0.0, é possível eu acessar o localhost. Só mais um ponto: O 0.0.0.0 não permite que qualquer endereço ip da INTERNET se conecte a ele, mas sim qualquer endereço da rede interna onde o programa roda. Isso acontece pq o 0.0.0.0 escuta todas as placas de rede do computador (incluindo a 127.0.0.1, que é uma placa "virtual"), e portanto, se alguem da MESMA rede tentar acessar sua aplicação, ele conseguirá.
Eu não sou Youtuber, não entendo tanto, mas acho que um ponto legal é tentar manter o usuário no seu canal. VocÊ está começando agora, e isso não é tão possível, mas por exemplo, se primeiro você tivesse feito um vídeo explicando sobre a diferença entre TCP e UDP, neste vídeo de agora, você poderia dizer: "Pessoal, eu vou utilizar TCP para fazer a comunicação, porém existe o UDP também. Eu já fiz um vídeo aqui no canal sobre isso, então depois desse vocês dão uma olhada lá para entenderem a diferença". Um vídeo vai puxando o outro. Se eu fosse construir um canal agora, eu planejaria isso.
Só lembrando que nada do que eu escrevi aqui é uma regra. São apenas minhas opiniões sobre o que eu acho que poderia ser melhorado. Abraços.
Este ano eu comecei a estudar linguagem Rust e o último projeto do 'The book' é a gente criar um servidor http multitread. Na prática assim eu nunca tinha feito mas ja vi vários videos do Akita. É super importante a gente saber o que acontece por baixo dos panos antes de estudar framework. Muitos cursos por aí só giram em torno de como programar react, node, spring boot e etc... mas pouco se vê sobre a base das coisas, aquilo que se der problema no framework o cara nem vai saber o que aconteceu.
olá, sr piske
achei um ótimo conteúdo, creio que você conseguiu exercer uma boa explicação com o tempo de 11 minutos, uma explicação compacta,bem resumida e não fadigante.