<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Débora Nunes</title>
    <description>The latest articles on DEV Community by Débora Nunes (@deborafelix).</description>
    <link>https://dev.to/deborafelix</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F351612%2Fd8f8bca3-4803-4ebd-be09-9598fd639d6e.jpg</url>
      <title>DEV Community: Débora Nunes</title>
      <link>https://dev.to/deborafelix</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/deborafelix"/>
    <language>en</language>
    <item>
      <title># Como funciona os navegadores web?</title>
      <dc:creator>Débora Nunes</dc:creator>
      <pubDate>Thu, 19 Aug 2021 13:49:35 +0000</pubDate>
      <link>https://dev.to/deborafelix/como-funciona-os-navegadores-web-35k7</link>
      <guid>https://dev.to/deborafelix/como-funciona-os-navegadores-web-35k7</guid>
      <description>&lt;p&gt;Existem muitas coisas do nosso dia a dia que não pensamos sobre o funcionamento, quando iniciamos nossa carreira de tecnologia, às vezes, não temos tempo ou curiosidade, ou caminhos neuronais para entender algumas coisas por debaixo dos panos. Aprender o funcionamento dos navegadores foi assim para mim. O intuito desse post é trazer de maneira simples esse funcionamento e se tiver curiosidade, aconselho fortemente ler os links que eu indico ao final do post. &lt;/p&gt;

&lt;p&gt;Quando pedimos algo ao servidor com o enter na URL, passamos por todos os processos apresentados nos últimos posts, e ao chegar essa resposta, começa o processo de renderização, cada tipo de código passa por analisadores diferentes, verificando sintaxe e as instruções daquele trecho do código, é criada uma árvore (algumas, na verdade) com esses atributos que são chamados &lt;em&gt;nós&lt;/em&gt; e eles têm o papel de identificar o lugar, cor e características de cada componente. Caso os analisadores encontrem alguma inconsistência eles consideram o documento como inválido e dependendo da gravidade, não renderizam o componente ou até o site na tela. &lt;/p&gt;

&lt;p&gt;O HTML por não ser uma gramática livre de contexto, não pode ser analisado facilmente, então durante a construção da árvore DOM ela é modificada algumas vezes durante o processo e existem algumas tolerâncias de sintaxe inválida.  &lt;/p&gt;

&lt;p&gt;Para mudanças dinâmicas, os navegadores tentam executar o mínimo de ações, usando a árvore, porém algumas modificações podem precisar de um recalculo de tudo, novo layout e nova pintura de toda a árvore, um exemplo disso seria a mudança de tamanho da fonte.&lt;/p&gt;

&lt;p&gt;Além disso, cada navegador tem um motor de renderização diferente com especificidades e alguns consideram estilos pré-estilizados do usuário, fazendo com que desenvolvedores front-end não tenham um minuto de paz. risos. &lt;/p&gt;

&lt;p&gt;Os navegadores evoluiriam muito, assim como as ferramentas para a criação de conteúdo dos mesmo, além dos sites cada vez mais dinâmicos,  algumas das aplicações desktop que você utiliza no seu dia a dia, também utilizam motores dos navegadores, como Spotify, Discord e muitas outras.&lt;/p&gt;

&lt;p&gt;Se você ficou interessado sobre navegadores: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.html5rocks.com/pt/tutorials/internals/howbrowserswork/"&gt;Como os navegadores funcionam: bastidores dos navegadores modernos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/valestart/como-os-motores-de-navegadores-modernos-funcionam-38c4d266f284"&gt;Como os motores de navegadores modernos funcionam?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://canaltech.com.br/navegadores/como-os-navegadores-processam-os-codigos-de-uma-pagina-web/"&gt;Como os navegadores processam os códigos de uma página web?&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Se você gostou do post, comenta algo que você sempre quis saber como funciona embaixo dos panos!&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Quais são os principais métodos HTTP?</title>
      <dc:creator>Débora Nunes</dc:creator>
      <pubDate>Sat, 14 Aug 2021 17:53:39 +0000</pubDate>
      <link>https://dev.to/deborafelix/quais-sao-os-principais-metodos-http-bp6</link>
      <guid>https://dev.to/deborafelix/quais-sao-os-principais-metodos-http-bp6</guid>
      <description>&lt;p&gt;Partindo do pressuposto que você saiba &lt;a href="https://dev.to/deborafelix/o-que-e-http-55jc"&gt;o que é HTTP&lt;/a&gt; é necessário ver (ou rever) os métodos que compõem esse protocolo. &lt;/p&gt;

&lt;h4&gt;
  
  
  GET
&lt;/h4&gt;

&lt;p&gt;Um método de recuperação de recursos (como o HEAD), pode ter parâmetros ou não, mas tem apenas o intuito de retornar os dados requisitados. &lt;/p&gt;

&lt;h4&gt;
  
  
  POST
&lt;/h4&gt;

&lt;p&gt;É um método de alteração de recursos (como o PUT, PATCH, DELETE e OPTIONS), no POST algo é adicionado/anexado ao recurso especifico. &lt;/p&gt;

&lt;h4&gt;
  
  
  PUT
&lt;/h4&gt;

&lt;p&gt;Os métodos de alteração do recurso PUT e PATCH são irmãos, sendo PUT o mais rígido, ele vai alterar tudo, substituindo pelas novas informações que forem passadas.&lt;/p&gt;

&lt;h4&gt;
  
  
  PATCH
&lt;/h4&gt;

&lt;p&gt;Já o PATCH é o irmão light, ele vai alterar apenas parcialmente os atributos, não substituindo. É importante gravar a diferença entre os dois para utilizar o que encaixa melhor na sua proposta.&lt;/p&gt;

&lt;h4&gt;
  
  
  DELETE
&lt;/h4&gt;

&lt;p&gt;O método mais fácil se entender e o mais perigoso usar, ele remove adequando-se aos parâmetros passados, cuidado com esse durante o desenvolvimento!&lt;/p&gt;

&lt;h4&gt;
  
  
  HEAD
&lt;/h4&gt;

&lt;p&gt;Esse método retorna os recursos, como o GET, sem o corpo da resposta. Ele pode ser bem útil na hora de procurar um problema em um serviço externo, onde não há a necessidade do body.&lt;/p&gt;

&lt;h4&gt;
  
  
  OPTIONS
&lt;/h4&gt;

&lt;p&gt;Considerado alterador de recursos, usado para mudar as opções de comunicação do recurso de destino. &lt;/p&gt;

&lt;h4&gt;
  
  
  CONNECT
&lt;/h4&gt;

&lt;p&gt;Tanto o CONNECT quanto o TRACE são considerados métodos mais voltados para o ambiente. O CONNECT converte a requisição comunicação com o recurso estabelecendo um túnel. &lt;/p&gt;

&lt;h4&gt;
  
  
  TRACE
&lt;/h4&gt;

&lt;p&gt;Executa um teste, também chamado loop-back, que permite observar os pontos de falha de um  caminho até o recurso.&lt;/p&gt;




&lt;p&gt;Esses são os mais conhecidos, porém não todos , existem muitos caminhos para aprofundar nesse assunto, o link que mais me ajudou a construir esse post: &lt;a href="http://www.intergate.net.br/blog/apis-guia-de-metodos-http-comuns/"&gt;Guia de métodos HTTP&lt;/a&gt;, link que aparentemente tem todos os &lt;a href="https://www.iana.org/assignments/http-methods/http-methods.xhtml"&gt;métodos HTTP&lt;/a&gt; ou para descobrir mais sobre as versões do &lt;a href="https://blog.neomind.com.br/diferencas-entre-http1-1-e-http2"&gt;HTTP&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>ptbr</category>
    </item>
    <item>
      <title>O que é HTTP?</title>
      <dc:creator>Débora Nunes</dc:creator>
      <pubDate>Tue, 20 Jul 2021 16:00:39 +0000</pubDate>
      <link>https://dev.to/deborafelix/o-que-e-http-55jc</link>
      <guid>https://dev.to/deborafelix/o-que-e-http-55jc</guid>
      <description>&lt;p&gt;Depois de entender &lt;a href="https://dev.to/deborafelix/como-a-internet-funciona-5f8a"&gt;como a internet funciona&lt;/a&gt; , sabemos o quão importante é a conexão TCP/IP e a estrela de hoje se beneficia muito dela, porque para que o protocolo HTTP possa transferir seus dados é necessário a conexão entre cliente e servidores. Mesmo assim ela é conhecida como protocolo de texto sem conexão. &lt;/p&gt;

&lt;p&gt;Primeiro, vamos dar nome aos bois. HTTP é a sigla para HyperText Transfer Protocol que é um protocolo (de transferência de hipertexto) usado para transferir dados pela WWW (World Wide Web) que seria o grupo de conteúdos transferido via internet. Essas siglas são bem familiares porque elas antecedem o nome da maior parte dos sites que visitamos e se você clicou para ver aqui no dev.to reparou que é HTTPS, uma extensão mais segura do HTTP, sendo o S de Secure, provavelmente a maioria dos sites que mais visitados hoje são HTTPS pois o Google mostra avisos de não seguro para sites HTTP. &lt;/p&gt;

&lt;p&gt;Então, quando eu chamo o link de um site, eu crio uma requisição HTTP  para o servidor que tem o conteúdo e espero a resposta, se o servidor tiver o conteúdo, ele manda e a conexão é desconectada, se não tiver o que pedi, ele vai responder que não tem e a conexão é desconectada. Pois isso um protocolo de texto "sem conexão". &lt;/p&gt;

&lt;p&gt;Além do &lt;strong&gt;request&lt;/strong&gt; e &lt;strong&gt;response&lt;/strong&gt; tem outros nomes que se você vai trabalhar com HTTP, você precisa conhecer. &lt;/p&gt;

&lt;h3&gt;
  
  
  Estrutura do HTTP
&lt;/h3&gt;

&lt;p&gt;Quando você pede um livro em uma biblioteca, existe um conjunto de informações necessárias para a bibliotecária conseguir te entregar exatamente o que você procura. Se pretende pegar um livro, o máximo de informações que você tem sobre aquele livro vão ajudar, mas são informações diferentes se você pretende na verdade mudar o livro que já tem, ou só devolver. No HTTP existem algumas maneiras de transmitir essas informações que podem ser transmitidas através do body, header e na url.&lt;/p&gt;

&lt;p&gt;Na url temos duas maneiras, params e query string. Na url dev.to/deborafelix sendo &lt;strong&gt;/deborafelix&lt;/strong&gt; um exemplo de params. Pensando de novo na biblioteca, um params poderia ser o nome de um gênero de livros, ou do autor. Agora o query string são os parâmetros após " ? " como quando pesquisamos algo no dev.to/search &lt;strong&gt;?q=something&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;O body e header não são tão visíveis. Sendo mais fácil visualizar essas informações durante o desenvolvimento, no postman, insomnia ou similares. Isso é muito bom quando é preciso enviar informações confidencias, como o token de autorização e o content-type, sendo o último o identificador para o tipo de dado enviado. &lt;/p&gt;

&lt;p&gt;Se você está iniciando na área da programação, pode ter certeza que esses conceitos não serão esquecidos e falarei mais sobre eles em outros posts no futuro. &lt;/p&gt;

&lt;h3&gt;
  
  
  Links
&lt;/h3&gt;

&lt;p&gt;Esses são os links que me ajudaram na construção desse post:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.alura.com.br/artigos/desmistificando-o-protocolo-http-parte-1"&gt;Alura&lt;/a&gt;&lt;br&gt;
&lt;a href="https://rockcontent.com/br/blog/http/"&gt;Rock Content&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.oficinadanet.com.br/artigo/459/o_protocolo_http"&gt;Oficina da net&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>ptbr</category>
    </item>
    <item>
      <title>Como a internet funciona?</title>
      <dc:creator>Débora Nunes</dc:creator>
      <pubDate>Sun, 04 Jul 2021 15:52:04 +0000</pubDate>
      <link>https://dev.to/deborafelix/como-a-internet-funciona-5f8a</link>
      <guid>https://dev.to/deborafelix/como-a-internet-funciona-5f8a</guid>
      <description>&lt;p&gt;Internet é algo que usamos todos os dias, mas nem todo mundo sabe como ela funciona ou pior, sabe, mas ainda não entendeu 😱&lt;/p&gt;

&lt;p&gt;Partindo do contexto mais simples "uma rede de computadores mundial" que reflete claramente o símbolo escolhido para representar a internet 🌐. Mas quando pensamos o que é a internet na prática descobrimos alguns papeis fundamentais no processo: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MlJsMVda--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/33i1gex3zktrk7pfs83r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MlJsMVda--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/33i1gex3zktrk7pfs83r.png" alt="Backbone para Provedores de acesso para Provedores de Serviço para sua Casa"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Claro, existem outros serviços, como o &lt;a href="https://www.techtudo.com.br/noticias/noticia/2015/03/entenda-o-voip-tecnologia-que-permite-apps-ligarem-pela-internet.html"&gt;📌 VoIP&lt;/a&gt; e o &lt;a href="https://www.voitto.com.br/blog/artigo/o-que-e-rede-p2p"&gt;📌 P2P&lt;/a&gt;, mas a ideia é entender o básico primeiro. &lt;/p&gt;

&lt;p&gt;Quando você envia uma mensagem através da internet, existe um identificador para onde aquele conteúdo precisa ir, através dos IP, seu dispositivo tem um, seu roteador outro e eles vão se completando, até o caminho final da sua mensagem &lt;a href="https://www.youtube.com/watch?v=7_LPdttKXPc"&gt;📌&lt;/a&gt;, e a resposta, faz o caminho inverso até você. O nome desse protocolo é TCP/IP, mas não é uma regra, muito do que usamos no dia a dia utiliza outros protocolos de comunicação como o UDP &lt;a href="https://www.alura.com.br/artigos/quais-as-diferencas-entre-o-tcp-e-o-udp?gclid=CjwKCAjwuIWHBhBDEiwACXQYsUFHZSxLP7Q8mum13JaoJHEVpHwqQPe1jpWVb5wRdMTjk0L7k0TagxoCdZUQAvD_BwE"&gt;📌&lt;/a&gt;, de forma bem resumida o TCP é mais confiável para no transporte de dados e o UDP é mais rápido, muito utilizado para streams e jogos online.&lt;/p&gt;

&lt;p&gt;O identificador acaba sendo muito inviável de decorar, acabamos por decorar seu domínio, assim ao invés de chamar 142.250.218.110 podemos chamar google.com (que inclusive tem vários IP's diferentes para suportar o número de acessos).&lt;/p&gt;




&lt;p&gt;Agora, você já está pronto para pesquisar mais sobre o assunto:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.techtudo.com.br/noticias/noticia/2011/07/como-internet-chega-na-sua-casa.html"&gt;📌 Tech Mundo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/pt-BR/docs/Learn/Common_questions/How_does_the_Internet_work"&gt;📌 Developer&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>ptbr</category>
    </item>
  </channel>
</rss>
