Veja neste artigo como funcionam as aplicações web, com ênfase para aquelas desenvolvidas na linguagem Java. Serão apresentados os protocolos de comunicação entre aplicações, métodos HTTP e os principais erros que ocorrem durante requisições.
A função do servidor web é receber uma solicitação (requisição) e devolver (resposta) algo para o cliente. O browser permite ao usuário solicitar um recurso e quando o servidor responde a uma solicitação são encontrados recursos
como: páginas HTML, figuras e documento PDF que são exibidas depois para o usuário. Geralmente os servidores enviam instruções
para o browser escritas em HTML. O HTML diz ao browser como apresentar conteúdo ao usuário web.
Figura 1: Simulação de uma solicitação e resposta
O servidor em si tem alguns recursos, mas por algumas deficiências não consegue processar tudo sozinho como: criações de
páginas dinâmicas e o armazenamento de dados em um banco de dados.
Páginas Dinâmicas – Quando a aplicação roda no servidor, este disponibiliza somente páginas estáticas. Porém,
para efetuar essa comunicação é necessário o auxílio de uma outra aplicação de ajuda que é passada através de Servlet.
Armazenar dados no servidor – Para efetuar essa ação o servidor precisa de uma aplicação de apoio (Servlet),
fazendo com que o servidor envie esses parâmetros para o Servlet.
Solicitação do Usuário Web
A função do usuário web é permitir fazer solicitações ao servidor, exibindo o resultado do pedido. O browser é o software
que se comunica com o servidor.
Figura 2: Usuário Web - Solicitação e resposta para uma página web
Protocolo HTTP
É um protocolo que os clientes e os servidores usam para se comunicar. Essa comunicação é baseada em requisições (request)
e respostas (responses). Veja abaixo os elementos dessa comunicação:
Conteúdo de uma solicitação
Método HTTP;
Página que será acessada;
Parâmetros do formulário;
Conteúdo de uma resposta
Código de status (informa se a solicitação foi realizada com sucesso ou não);
Tipo de Conteúdo (HTML, figuras, textos, etc);
Conteúdo (HTML real, imagem, etc);
A solicitação HTTP possui outra solicitação conhecida como
URL (Localizador Uniforme de Recursos). A solicitação URL é um recurso que se ativa quando o usuário tenta acessar
alguns dos métodos HTTP descritos abaixo.
Métodos HTTP
GET - Solicita ao servidor um recurso chamado de solicitação URl. Este é o método padrão, pois é a forma como
o browser chama o servidor quando digita-se uma URL para que ele a recupere.
POST - Contém um corpo nos quais seus parâmetros de solicitação já são codificados. O mais frequente uso desse
método é na submissão de formulários.
HEAD - Similar ao método GET, o servidor apenas retoma a linha de resposta e os cabeçalhos de resposta.
PUT - Esse método permite o envio de arquivos par ao servidor Web.
DELETE - Permite a exclusão de documentos dentro do servidor Web.
OPTIONS - É possível fazer uma consulta de quais comandos estão disponíveis para um determinado usuário.
TRACE - Permite depurar as requisições, devolvendo o cabeçalho de um documento.
Tipos de protocolos
FTP - Sigla para File Transfer Protocol, é muito utilizado para transmissão (upload e download) de arquivos
para um servidor.
SMTP - Sigla para Simple Message Transfer Protocol, fornece os comandos necessários para envio de mensagens
a um servidor de e-mail.
POP - Sigla para Post Office Protocol, permite que um cliente acesse e manipule mensagens de correio eletrônico
disponíveis em um servidor.
IMAP - Sigla para Internet Message Access Protocol, permite que um cliente acesse e manipule mensagens de correio
eletrônico disponíveis em um servidor, assim como ocorre no protocolo POP.
Uma resposta HTTP é composta de dois itens: o header e corpo. A informação do header faz três verificações que são:
Protocolo que está sendo usado no browser;
A realização de uma solicitação se ocorreu tudo certo;
O tipo de conteúdo que está incluído no corpo. Apenas lembrando que o corpo possui o conteúdo que o browser exibirá.
Existem algumas respostas que o servidor encaminha para o browser. Muitas dessas respostas são comuns de serem vistas por
programadores, sendo representadas por um número indicado pelo qual o problema foi ocorrido. Abaixo está listados os
mais comuns:
200 (OK) – Informa que a confirmação da requisição foi respondida com sucesso.
304 (NOT MODIFIED) – Informa que os recursos que não foram modificados desde a última vez que foi feito um pedido.
Isso ocorre por causa dos mecanismos de cache do browser.
401 (UNAUTHORIZED) – Informa que o cliente não tem acesso autorizado para acessar a área requisitada. Ocorre
muito em intranets de acesso privado que precisam ser acessadas com um usuário e senha.
403 (FORBIDDEN) – Informa que o acesso à área requisitada falhou. Isso pode ocorrer em caso de acesso a áreas
que exigem login e senha e não houve autorização para aquele usuário.
404 (NOT FOUND) - Não encontrado. Ocorre quando o usuário tenta acessar uma área inexistente no endereço passado,
por exemplo, páginas removidas ou recursos excluídos.
Entendo o funcionamento das respostas
Abaixo na Figura 3 são apresentadas algumas descrições da anatomia da resposta em HTTP.
Figura 3: Anatomia de uma resposta HTTP
O
MIME Type é o valor do header de resposta para o content type. O MIME type informa ao browser que tipo de dado
está pronto para receber, pois se precisa saber como será processado. No caso da Figura 3, estamos informando que o conteúdo
é do tipo HTML, mas poderíamos estar esperando um tipo PDF, então seria mudado o Content-Type.
Conclusão
O HTTP usa um modelo de solicitações e respostas. Uma solicitação ocorre quando o usuário faz uma solicitação HTTP e o servidor
web devolve uma resposta HTTP, sendo que o browser verifica como tratar esse conteúdo. Se a resposta que vem do servidor
for uma página HTML, então é inserido na resposta HTTP.
As diferenças entre as solicitações GET e POST são que enquanto o GET anexa dados do formulário no final da URL o POST inclui
dados do formulário no corpo da solicitação.
Finalizo mais um artigo e espero que tenham gostado do conteúdo. Forte Abraço!
HTML 5:
HTML5 é a mais recente evolução do padrão que define o HTML
Saiba mais sobre Desenvolvimento web ;)
JavaScript Tutorial:
Neste artigo veremos como utilizar o código javascript em nossas aplicações web e websites. Teremos uma introdução à essa maravilhosa linguagem que cada vez mais cresce no desenvolvimento web.
DevCast: Programação Web: Por onde começar?:
Veja neste Devcast o objetivo de mostrar a correlação entre as diversas tecnologias para desenvolvimento Web bem como fornecer uma explanação sobre quais tecnologias aprender e os motivos de ser necessário aprender estas tecnologias.
Recomendamos começar pelo Plano de Estudo Carreira Programador Front-End. Essa área da programação é mais visual e intuitiva, tornando-a ideal para iniciantes. No Front-End, você aprenderá a criar a parte visual dos sites, como layout, cores e interatividade. Depois de dominar o Front-End, você pode avançar para Programador Back-End, onde aprenderá a lidar com a lógica e o funcionamento interno dos sites, e, finalmente, para Programador Mobile, focando no desenvolvimento de aplicativos para smartphones. Nossa metodologia é estruturada de forma progressiva para garantir que você desenvolva confiança e experiência ao criar projetos reais, como sites estáticos e dinâmicos.
Em quanto tempo vou me tornar um programador?
O tempo necessário para se tornar um programador varia de acordo com a dedicação de cada estudante. Com nossa metodologia, que inclui um Plano de Estudo detalhado e suporte contínuo, você pode se tornar um programador de 6 meses a um ano, dependendo do seu ritmo e esforço. Nossa abordagem prática e orientada a projetos ajudará a acelerar seu aprendizado.
Eu preciso de um diploma de faculdade para começar a atuar como programador?
Não. Ser programador é uma excelente oportunidade para quem não possui diploma de faculdade. Muitas empresas contratam baseadas nas habilidades técnicas e experiência prática, não necessariamente em diplomas. Após conquistar uma vaga, você pode optar por complementar sua formação com um diploma.
Por que a programação se tornou a profissão mais promissora da atualidade?
A necessidade de programadores cresceu exponencialmente, especialmente após a pandemia de Covid-19, que forçou muitas empresas a se adaptarem ao digital. Com o crescimento das empresas de tecnologia, a demanda por programadores aumentou. Atualmente, há mais de 200 mil vagas abertas no Brasil devido à falta de profissionais qualificados.
Metodologia
Quais são os principais diferenciais da DevMedia?
Didática e Metodologia
Com mais de 20 anos de experiência, nossa metodologia foca em menos aulas e mais prática. Desenvolvemos dezenas de projetos e exercícios para ajudar você a se tornar um programador completo. Nossos projetos são desafiadores e autênticos, não apenas exercícios repetitivos.
Projetos reais e exercícios
Você desenvolverá diversos projetos práticos em cada carreira (Front-End, Back-End e Mobile), recebendo mentoria e suporte contínuo. A prática é essencial, e oferecemos milhares de exercícios para ajudar você a fixar o conteúdo e melhorar sua posição no ranking.
Suporte ao aluno
Nossa plataforma oferece suporte dedicado com professores experientes, respondendo suas dúvidas em menos de uma hora. Isso garante que você receba a ajuda necessária durante toda a sua jornada de aprendizado.
Gamificação
A DevMedia utiliza gamificação para tornar o aprendizado mais envolvente e motivador. Você acumula pontos e moedas por acertos, que podem ser trocados por produtos e customizações no seu card pessoal. Além disso, o sistema de ranking mensal incentiva a competição amigável e a melhoria contínua.
O que eu irei aprender estudando pela DevMedia?
Ao estudar conosco, você se tornará um programador Full Stack, dominando Front-End, Back-End e Mobile. Utilizamos a linguagem JavaScript, a mais utilizada no mercado, preparando você para criar sistemas webs e aplicativos celulares. Nossa abordagem prática inclui exercícios para fixar o conhecimento e desenvolvimento de projetos reais que te preparam, para o mercado de trabalho.
Quais as vantagens de aprender programação através da linguagem JavaScript?
Ela é Multiplataforma, ela vai te permitir programar para web e para celulares utilizando praticamente a mesma sintaxe.
Elá é Full Stack. Ela te permite criar aplicações Front-end, Back-end e Mobile. Isso acelera muito sua carreira e aumenta suas possibilidades de pegar trabalhos autônomos e conquistar uma vaga no mercado.
Ela é fácil de aprender. Como ela não exige conhecimento inicial em “Orientação a Objetos” ela se torna mais simples com uma curva de aprendizado suave e vai te permitir começar a programar mais rápido do que outras linguagens
A plataforma oferece certificados?
Sim, oferecemos dois tipos de certificados: o certificado de conclusão, que você adquire ao consumir o conteúdo, e o certificado de autoridade, que você obtém ao acertar exercícios. Ambos possuem carga horária, que pode ser utilizada para fins acadêmicos, como atividades complementares na faculdade, e também para comprovações em processos seletivos ou no seu currículo.
A plataforma tem suporte ao aluno, como funciona?
Sim, temos uma equipe de programadores pronta para ajudar com todas as suas dúvidas! Durante o horário comercial, o tempo médio de resposta é de até 10 minutos. E não se preocupe, também oferecemos suporte à noite e nos finais de semana, com um prazo de resposta um pouco maior.
A DevMedia me forma como programador Full Stack?
Sim! Oferecemos uma formação completa, do zero até Full Stack. Nosso foco é na prática, então você vai encontrar muitos exercícios e projetos reais ao longo do curso. Garantimos que você sairá com a autonomia necessária para desenvolver seus próprios projetos com confiança!
Tem horário para as aulas?
Não, não temos horários fixos para as aulas. Todo o nosso conteúdo está disponível para você acessar a qualquer momento, permitindo que você estude conforme sua própria disponibilidade e ritmo. Dessa forma, você pode integrar o aprendizado à sua rotina de maneira mais flexível e eficaz.
Por que a DevMedia não usa videoaulas em sua didática?
Nosso foco principal é formar programadores de verdade. Sabemos que o dia a dia de um programador envolve muita leitura, interpretação e escrita de código. Por isso, nosso conteúdo é desenvolvido para ambientar você nesse processo desde o início, proporcionando mais autonomia e acelerando seu aprendizado.
Na vídeo-aula é o professor que está lendo, interpretando e escrevndo o código para você, isso limita o seu progresso. Ao ler e interagir diretamente com o conteúdo, você exercita sua capacidade de leitura e concentração, além de poder avançar no seu próprio ritmo. Dessa forma, você se torna um programador mais independente e preparado para os desafios reais do mercado.
Preciso de um computador específico para estudar na DevMedia?
Não é necessário nada específico. Qualquer computador com processador atual e memória de 8 GB é suficiente.
Eu consigo estudar pelo celular?
Sim, a DevMedia possui um aplicativo que te permite seguir com seus estudos de qualquer lugar.
A DevMedia tem aplicativo?
Sim, nosso aplicativo está disponível na Play Store e na Apple Store, permitindo que você estude de forma prática e conveniente em qualquer lugar.
Preciso estar na faculdade para acompanhar os estudos na DevMedia?
Não, a faculdade não é necessária. Você não precisa de nenhum conhecimento prévio para iniciar os estudos na nossa plataforma.
Assinatura e Pagamentos
Quais são os planos de assinatura disponíveis?
Oferecemos o plano anual, o valor total é lançado no cartão de crédito, parcelado em 12 vezes, e você precisa dispor do valor total no limite do seu cartão. Você também pode optar por pagar no PIX
Adquirindo o plano, terei acesso a todo o conteúdo?
Sim, ao assinar nossa plataforma, você desbloqueia acesso total a todo o nosso conteúdo, sem precisar comprar nada separadamente.
A plataforma tem planos vitalícios?
Não, nossos planos são anuais, garantindo que você tenha acesso contínuo às atualizações mais recentes e aos novos conteúdos. A tecnologia evolui rapidamente, e um plano vitalício oferece um conteúdo estático que se tornará ultrapassado em pouco tempo. Com nossos planos anuais, você está sempre à frente, aprendendo as novidades e tendências mais atuais no mundo da programação.
A DevMedia tem fidelidade?
Sim, nosso plano tem uma fidelidade de 12 meses, o que garante o tempo ideal para você explorar nosso conteúdo e desenvolver a autonomia necessária para trabalhar com programação.
Como funciona o cancelamento?
Nós garantimos seu direito de cancelamento com reembolso total dentro dos primeiros 7 dias.
Para que você aproveite ao máximo seu investimento, oferecemos suporte personalizado para orientá-lo na utilização da plataforma. Também temos a opção de transferência de titularidade do plano, permitindo que outra pessoa aproveite o restante do seu período de assinatura.
Cadastro
Como excluir meus dados da plataforma?
Para excluir seus dados da plataforma, acesse o link : https://www.devmedia.com.br/fale-conosco/ e abra um protocolo de 'Exclusão de dados'. Nossa equipe processará a solicitação e removerá todas as informações do seu cadastro.