- 我们来谈谈网络。
- 让我们考虑一下客户端-服务器的结构和三层架构。
- 让我们看一下 HTTP/HTTPS 协议。
- 让我们了解您需要了解的有关 Maven 的一切。
- 我们来谈谈servlet。
- Servlet 容器。
- 最后 - 关于 MVC。
第 1 部分:让我们谈谈网络
让我们从最重要的事情开始,谈谈所有社交网络、网络服务和应用程序、即时通讯工具和简单网站构建的基础——关于网络(在本系列文章的上下文中,术语“网络”意味着全球互联网)。网络由大量计算机组成:它们相互连接并能够通信。了解它们是如何做到这一点很重要,因为 Web 应用程序负责将信息从一台计算机传输到另一台计算机。OSI网络模型
OSI(开放系统互连)模型创建了一种构建网络的分层方法。它清楚地显示了同一网络的成员如何以及在什么级别上可以相互交互。该模型总共包含 7 个级别:7 | 应用 |
6 | 表示 |
5 | 会议 |
4 | 运输 |
3 | 网络 |
2 | 管 |
1 | 身体的 |
-
1. 物理层面——物理定律在这里发挥作用,而人类的任务就是利用和指导物理定律来达到自己的目的。例如,创建电缆并将其铺设到网络成员。
我们不感兴趣。
-
数据链路层——负责向网络节点传输数据,并在物理对象上创建数据传输通道。
Нам не интересен, если только нет желания писать прошивку для каналообразующей аппаратуры.
-
Сетевой уровень — для определения 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), с которой нам часто придется работать.
Сессия — сущность, которая создается при установке связи между двумя пользователями. В ней можно сохранять нужную нам информацию о юзере, об истории их взаимодействия. Важной деталью является то, что при остановке обмена информацией сессия не пропадает, а сохраняет свое состояние на протяжении установленного промежутка времени, поэтому пользователи могут продолжить обмен информацией после перерыва.
如果应用程序同时与多个用户通信,则会建立适当数量的连接,从而建立会话。每个会话都有一个唯一的标识符 (ID),它允许应用程序区分进行通信的用户。
-
表示层- 负责编码/解码数据。显然,如果我们需要将字符串“Hello web”发送给另一个用户,则首先将其转换(编码)为二进制代码,然后才发送。一旦到达目的地,消息就会被转换回来(解码),收件人可以看到原始字符串。这些动作发生在表示层。
-
应用层是我们最感兴趣的层。它允许应用程序与网络交互。在这个级别,我们将接收、发送消息,向服务和远程数据库发出请求。
此级别使用许多协议:POP3、FTP、SMTP、XMPP、RDP、SIP、TELNET,当然还有 HTTP/HTTPS。协议是我们在编写消息时遵守的通用协议。我们肯定会单独更详细地讨论 HTTP/HTTPS 协议。
- IP地址——用户在网络上的地址;
- 端口——特定订阅者的应用地址;
- Session是一个实体,存在于两个订阅者之间的整个通信过程中;
- 应用程序协议 (HTTP/HTTPS) 是指导我们撰写和发送消息的规则。
GO TO FULL VERSION