Olá pessoal agora nós vamos falar sobre o protocolo http então Começando aqui protocolo http nada mais é do que o rapper text transfer protocol ou seja protocolo de transferência de hipertexto O que é que seria o hipertexto hipertexto é um textão acerto traduzido de Paulo mais literal mas nada mais é do que um texto que têm links Associados você já antigamente quando você tava lendo um livro por exemplo um peixe qualquer um livro e no meio do livro tinha por exemplo lá fulano de tal m900 e tal disse no livro tal que isso aqui era verdade então por isso eu concluí isso aqui então dentro de um peixe você já tinha referências em textos normais e na web essas referências estariam um clique de distância você não precisaria consultar o outro livro para de fato encontrar aquela referência você clica encontra um outro texto linkado para ter as informações que você referenciou e aí nesse outro texto pode bom então a ideia de você ter textos linkados é o conceito do Hiper text então historicamente o protocolo de fato iniciou com transferências de hypertension de textos linkados depois de um tempo foi evoluindo para imagens vídeos streaming várias coisas que a gente tem na web moderna jogos e tudo isso roda muitas coisas roda em cima do protocolo http a maior parte do tráfego da web sem dúvida em cima do protocolo http Então o que nós temos aqui no caso do raio por peixe como eu já falei nada mais é do que documentos escritos em HTML que é o raio hypertext markup language ou linguagem de marcação de hipertexto E você tem textos linkados obviamente hoje você tem em caso não só de uma página para outra mas dentro de um documento HTML faz referências a outros formatos de arquivos como CSS Java scripts imagens e muito mais coisas então o hipertexto né tem muito a ver também com a história da e eu quero começou com textos em casos mas na verdade protocolo http hoje roda diversos formatos em cima dele então pra gente ter algumas características do http ele sente for colocar ele dentro da pilha TCP ele faz parte da camada de aplicação ou seja ele está lá na última camada que a camada mais alto nível né então nós desenvolvedores de Fato interagimos muito com protocolo http gente precisa conhecer mais a fundo que precisa por exemplo conhecer o resto da pilha que tem mais a ver própria mesma parte gênero outra coisa importante do próprio http é que ele é um protocolo extrat Liss o que é que significa isso significa que quando uma máquina Manda uma requisição http para um servidor para o servidor e para máquina como se estivessem fazer na comunicação pela primeira vez porque dentro do protocolo e se não existe a o estado da conversação você não sabe estar fazendo a primeira requisição tô fazendo assim tese uma requisição porque o protocolo Esse é staples você pode ter aplicações em cima do protocolo como por exemplo um servidor web que dentro dele tem uma Fashion do usuário e no momento que você faz uma requisição em cima de um header por exemplo em cima do da requisição vai Wide das é chão Então quando você chega no servidor esse aydin ele consegue resgatar um espaço de memória que tem suas informações seu carrinho de compra e coisas do tipo mas nativamente o protocolo ele é stenciles ou seja não tem estado toda conexão é como se fosse a primeira vez né você abra conexão manda os dados ou e recebe os dados de volta mas o protocolo e sim ele é stateness ele é um protocolo cliente-servidor ele é muito fortemente baseado no conceito de requisição e resposta eu mando uma requisição para o servidor baseado em que baseado na URL Então manda o velho como um conjunto de parâmetros faça uma requisição e recebo algo como resposta essa resposta pode ser um arquivo texto no formato de som essa resposta pode ser um HTML essa resposta pode ser um vídeo é mandado o ministro e pode ser várias coisas diferentes mas o fato é que com o protocolo baseado nessa arquitetura cliente-servidor você tem um cliente e manda uma requisição a partir de uma url mais um conjunto de parâmetros mais um conjunto de headers cookies e coisas do tipo manda essa requisição e essa requisição é atendida por um servidor daí o cliente é que pesar requisição o servidor é o que manda a resposta é baseada na requisição foi feita além disso a gente sabe que esse protocolo ele opera em cima da das técnicas da pilha TCP IP em via de regra Esse é um protocolo que vai te retornar conteúdos para formar uma página web então e do HTML e aí provavelmente como HTML interpretado pelo browser ele vai perceber Opa além do HTML que já veio tem uma referência um CSS e abre uma requisição tem uma referência para um javscript ele vai lá e pego faz um outro requisição até uma referência para uma imagem para um vídeo ele vai montando a página até que a página fica completamente carregada e via de regra as respostas que vem a partir de uma requisição http é usando esses dados HTML CSS JavaScript mídias mas pode ter por exemplo Jackson que é somente dado né você vai ver existe essas nuances dependendo do tipo de arquitetura que você escolha para trabalhar na sua aplicação continuando o pessoal mostrando aqui para você rapidamente como seria um fluxo básico de uma conexão http primeiro usuário vai lá no Browser e coloca a URL que ele quer é obter essas informações então vai lá no Brasil coloca www. google. com.
br é uma vez que essa requisição é mandada Claro que tem outros detalhes e de rede como bem essa que eu falar sobre isso mas é feita uma requisição no Raiz usando o protocolo http versão 1. 1 para o host www. google.
com. br uma vez que essa requisição enviada e chega lá partir daí téchiné a tcpip chega no servidor de destino você tem um servidor gerando uma resposta né http/1. 1 uma resposta no chip 200 ele vai ver depois os status de respostas do http que é uma resposta bem sucedida ele manda lá um conjunto de cabeçalhos na requisição né na resposta melhor dizendo tanto a requisição tem cabeçalhos como a resposta também tem dizendo a data que o tamanho do conteúdo e tal e no corpo da resposta vem de fato a página HTML que você requereu a partir da url que você informou em browser e finalmente uma vez que chegar a resposta o bar você vai pegar aquela resposta e renderizar pa e obviamente para montar uma página HTML não é feito apenas uma única requisição se você abrir o console desenvolvedor você vai ver quem são várias requisições é Fontes imagens CSS JavaScript nomes vem o HTML que referência tudo isso e a partir disso ele vai baixando várias imagens fontes e coisas do tipo para compor a sua página completamente então o fluxo básico né entra com a URL é gerado a partir do Brasil uma requisição e essa requisição quando você digita ali na caixa de texto no Browser e aperta entre é uma requisição do tipo Jet existem outros tipos de requisição Mel http e o protocolo ele tem alguns verbos né Tem um Betty o puxo puxo de leite tem uma opção tem um Trace então ele tem vários verbos esses verbos são formas diferentes de você fazer requisições historicamente dois deles são os mais importantes que é o que o post e depois do Advento dos Web Services alguns outros métodos foram ressuscitados né o PuTTy o de Elite o próprio Optimus também é usado na comunicação de Web Services E aí a gente vai ver isso um pouco mais para frente mas de qualquer forma esse é o fluxo básico mostrando aqui para vocês os métodos do http que eu já citei aqui o http tem vários métodos um dos mais importantes algethi certo e depois a gente pode entrar um pouco mais em detalhes né na verdade eu vou entrar em paz detalhes em relação ao Jet nós temos o outro método também muito importante que é o post estão os dois estão marcados aí né e amarelo para dar um destaque para os dois além dos dois nós temos um ou delete o 3 options o connect e o Hatch então esses são os oito métodos suportados pelo protocolo http tão próximo passo eu quero mostrar para vocês aqui mais ou menos a ideia só para fechar a minha ideia da requisição e resposta então você tem um cliente e no servidor esse cliente ele manda envia uma requisição para o servidor usando a URL mais um conjunto de parâmetros e são deve estar bem claro para vocês nessa altura e o servidor envia como resposta para o cliente HTML CSS JavaScript imagens vídeos e coisas do tipo então para montar uma página esse fluxo equizição e resposta é feito várias vezes por isso que uma das técnicas que você vê muito comumente um desenvolvimento web é você pegar por exemplo uma aplicação que foi desenvolvido usando 60 arquivos Java script você pegar todos esses arquivos mini ficar ou seja cumpre-me o máximo possível e juntar tudo isso no arquivo só obviamente o arquivo ficar muito grande você tem que separar e isso para você não sobrecarregar demais a carga inicial do seu site Mas de qualquer forma você fazer 60 requisições diferentes para pegar arquivos muito e já que tem protocolo tcp-ip tem toda essa questão do ringue shake de comunicação ele vai lá manda uma requisição para abrir a conexão recebe uma um reconhecimento Depois manda uma outra requisição só isso para fazer o Hand Shake inicial para de fato mandar os dados então é interessante que você diminua a quantidade de quests necessárias para fazer a carga de uma página então juntar vários jovens inscritos por exemplo um só arquivo juntar vários CSS um só arquivo é muito interessante ser feito esse tipo de estratégia hora que tem muitos outros estratégias aí para você conseguir eu diminuir a carga no seu site né você tem redes de Alto desempenho com as content delivery Network da cdnis que você espalha os seus arquivos estáticos em vários locais diferentes e no momento que o usuário vai carregar o site aquele arquivo que tiver com menor latência né menor nível de demora para receber o arquivo ele é provido Ou seja a resposta o computador que tem a menor latência então então tem várias técnicas mais uma delas é você Minimizar Diminuir a quantidade de requisições necessárias para você obter os arquivos obviamente o arquivo ficar muito grande e fica enviável também arquivo de três quatro megas para você carregar uma página Então você acaba tendo que também quebrar aqui no mitos diferentes do seu sistema você divida essa carga Inicial certo mas aí para você entender que esse fluxo acontece repetidamente dentro de um protocolo statelessness que não tem Estado então ele pobre uma conexão ele vai de fato tem um Hand Shake comunicação E aí ele obtém essas informações a partir do Servidor baseado em requisição e resposta porque é um protocolo baseado em cliente-servidor Como já falei anteriormente então olhando um pouquinho da requisição tipo Guedes só para gente deixar algumas coisas mais claras para vocês a requisição do tipo Bete você tem a URL E você tem parâmetros da requisição e aqui no caso o seu pegar aqui um exemplo prático disso eu vou entrar aqui no Google vou fazer o seguinte ó google.
com. br Vou colocar aqui em Barra de sorte nesse caso eu tenho a URL eu estou usando para fazer a minha requisição depois da URL eu vou separar a URL dos parâmetros vou colocar uma interrogação e eu vou colocar aqui ó que recebe web mais moderno tá então aí eu não do nosso curso Então significa que daqui para trás eu tenho a URL eu tenho uma interrogação como sendo divisor entre a URL e os parâmetros que eu vou passar nessa requisição e aqui eu tenho os parâmetros organizado sem chave igual a valor e comercial Oi e aí eu tenho aqui host lembro igual a Pepê tá só PT eu acho que vai lá português aqui chutar PT traço BR então aqui eu tenho dois parâmetros o parâmetro o que que representa o único Perry e eu tenho aqui o valor do parâmetro que web mais moderno para que a consulta que eu vou fazer em cima no serviço sorte que é de pesquisa do Google e o outro parâmetro dizendo qual é a língua da máquina host para que ele possa retornar o resultado em português então em cima dessa URL eu coloco aqui passa a pesquisa e ele retorna O resultado em Português ó imagens web tá o seu e colocar aqui vez de pt br colocar é ine traço o s O resultado vai vir inglês então images for web moderno e aí o resultado about coisas do tipo em todos os ingleses Se eu colocar aqui mudar o parâmetro em V e vamo colocar por exemplo Linux e colocar entre ele vai pesquisar agora sobre inox trazendo o resultado em inglês e se eu mudar aqui finalmente para PT traço BR você vai ver que o resultado essa requisição bem em português Então na verdade quando você tem uma requisição do tipo Jet os parâmetros vão no próprio corpo da URL é os parâmetros vão na própria URL e quando você tem outros tipos de requisição no caso post os parâmetros nome o corpo da requisição então é muito importante você percebeu o seguinte esse tipo de abordagem ela é oportuna claro que é quando você quer por exemplo fazer um book macho você quer salvar uma determinada URL específica não só URL mas os parâmetros que você usou para chegar num determinado O resultado é importante que você tem os parâmetros na URL para que você consiga esse tipo de coisa por outro lado se você estiver acessando por exemplo um servir E você vai querer que o seu a sua senha aparece diretamente na URL não faz sentido obviamente a sua senha não iria aparecer assim ele aparecer explicitamente colocando diretamente na URL isso não é interessante Então para esse tipo de cenário você tem requisição de tipo post que os parâmetros vão no corpo da requisição a Leo quer dizer que se eu passar os parâmetros do corpo da requisição eu tenho uma requisição segura não para você ter uma requisição segura você precisa ter a sua os a sua requisição aceptando em cima de um protocolo https que é exatamente o que está acontecendo aqui ó o https um protocolo seguro que faz com que a comunicação na máquina cliente para máquina servidora seja criptografada vou falar isso mas na frente volta aqui para apresentação então nós temos uma requisição do tipo Betty que a a grande o grande informação marca a requisição é que os parâmetros eles vão diretamente dentro da URL Então você coloca sorte interrogação passo parâmetro chave igual valor & chave igual valor e você vai passando todos os parâmetros na própria requisição e o corpo nesse caso que vai ficar vazio e os parâmetros vão estar diretamente na URL já Quando você vai para uma requisição do tipo post O que é que nós temos você tem a a mesma coisa né Você tem uma requisição usando o verbo ou o método http post nesse caso vai fazer a requisição no rush acao. no google.