- Vamos falar um pouco sobre a rede.
- Consideremos a estrutura da arquitetura cliente-servidor e de três níveis.
- Vejamos os protocolos HTTP/HTTPS.
- Vamos aprender tudo o que você precisa saber sobre o Maven.
- Vamos falar sobre servlets.
- Contêineres de servlets.
- E finalmente - sobre MVC.
Parte 1. Vamos falar um pouco sobre a rede
Vamos começar com o mais importante e falar sobre a base sobre a qual são construídas todas as redes sociais, serviços e aplicativos web, mensageiros instantâneos e sites simples - sobre a rede ( no contexto desta série de artigos, o termo “rede” significa a Internet Global ). A rede consiste em um grande número de computadores: eles estão interligados e são capazes de se comunicar. É importante entender como eles fazem isso, porque as aplicações web são exatamente o que fazem para transferir informações de um computador para outro.Modelo de rede OSI
O modelo OSI (Open Systems Interconnection) cria uma abordagem em camadas para construir uma rede. Mostra claramente como e em que nível os membros da mesma rede podem interagir entre si. No total, este modelo contém 7 níveis:7 | Aplicado |
6 | Representação |
5 | Sessão |
4 | Transporte |
3 | Rede |
2 | Duto |
1 | Físico |
-
1. Nível físico - aqui as leis da física fazem o seu trabalho, e a tarefa do homem é usar e direcionar isso para seus próprios propósitos. Por exemplo, criar cabos e colocá-los nos membros da rede.
Não estamos interessados.
-
Camada de enlace de dados - responsável por transmitir dados aos nós da rede e criar canais de transmissão de dados em objetos físicos.
Нам не интересен, если только нет желания писать прошивку для каналообразующей аппаратуры.
-
Сетевой уровень — для определения addressов отдельных пользователей сети и маршрутов к ним. На этом уровне стоит остановиться подробнее, а именно — на addressе пользователя в сети.
Он определяется специальным протоколом: самый распространённый — IPv4 (Internet Protocol version 4). Именно его нужно использовать веб-программисту для обращения к другому абоненту сети.
IPv4 состоит из четырех byteовых значений, разделенных точкой, например: 192.0.2.235. Стоит помнить, что значения byteовые, а значит, они лежат в пределах 0..255.
IP-address, в свою очередь, делятся на классы, и просто так присвоить себе красивую комбинацию циферок не получится, но так сильно углубляться мы не станем. Достаточно понимать, что IP-address — это уникальный идентификатор абонента в сети, по которому мы сможем к нему обратиться.
-
Транспортный уровень — занимается доставкой информации addressту. Для этого используются разные протоколы, которые нам пока не интересны. Гораздо больше нас интересует понятие, которое появляется на этом уровне, — port.
Порты отвечают за идентификацию конкретного applications на компьютере. Например, ты написал чат на Java, установил на 2 компа и хочешь отправить своему собеседнику. Твое сообщение упаковывается, отправляется по конкретному IP-addressу, доставляется твоему собеседнику, но его ПК не знает, что делать с полученной информацией, так How не понимает, Howое приложение должно обработать твое сообщение. Для этого и указываются порты при общении абонентов в сети.
Порт представляет собой число от 0 до 65535. Он добавляется к IP-addressу после двоеточия: 192.0.2.235:8080. Но нельзя использовать все порты из указанного диапазона: часть из них зарезервирована под операционную систему, еще часть принято использовать с конкретно оговоренной целью. В преднаmeaning разных портов углубляться не будем, пока достаточно понимать их роль в процессе общения в сети.
-
Сеансовый уровень — создает и управляет сеансами связи приложений. На этом уровне становится возможным взаимодействие приложений, отправка requestов служебного уровня. Для нас важно знать, что на этом уровне между двумя абонентами открывается сессия (session), с которой нам часто придется работать.
Сессия — сущность, которая создается при установке связи между двумя пользователями. В ней можно сохранять нужную нам информацию о юзере, об истории их взаимодействия. Важной деталью является то, что при остановке обмена информацией сессия не пропадает, а сохраняет свое состояние на протяжении установленного промежутка времени, поэтому пользователи могут продолжить обмен информацией после перерыва.
Se uma aplicação se comunicar com vários usuários simultaneamente, será estabelecido um número apropriado de conexões e, portanto, de sessões. Cada sessão possui um identificador (ID) único , que permite à aplicação distinguir entre os usuários com os quais ocorre a comunicação.
-
Camada de apresentação - responsável pela codificação/decodificação dos dados. Obviamente, se precisarmos enviar a string “Hello web” para outro usuário, ela primeiro é convertida (codificada) em código binário, e só depois enviada. Ao chegar ao destino, a mensagem é convertida novamente (decodificada) e o destinatário pode ver a string original. Essas ações ocorrem no nível da apresentação.
-
A camada de aplicação é a camada mais interessante para nós. Ele permite que os aplicativos interajam com a rede. Neste nível iremos receber, enviar mensagens, fazer solicitações a serviços e bases de dados remotas.
Existem muitos protocolos usados neste nível: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET e, claro, HTTP/HTTPS. Um protocolo é um acordo universal ao qual aderimos ao redigir mensagens. Definitivamente falaremos sobre os protocolos HTTP/HTTPS separadamente e com mais detalhes.
- Endereço IP – o endereço do assinante na rede;
- Porta — endereço do aplicativo de um assinante específico;
- Sessão é uma entidade que existe durante toda a comunicação entre dois assinantes;
- Os protocolos de aplicação (HTTP/HTTPS) são as regras que nos guiarão na hora de redigir e enviar mensagens.
GO TO FULL VERSION