- ネットワークについて少し話しましょう。
- クライアント/サーバーと 3 レベルのアーキテクチャの構造を考えてみましょう。
- HTTP/HTTPS プロトコルを見てみましょう。
- Maven について知っておくべきことをすべて学びましょう。
- サーブレットについて話しましょう。
- サーブレットコンテナ。
- そして最後に、MVC についてです。
パート 1. ネットワークについて少し話しましょう
最も重要なことから始めて、すべてのソーシャル ネットワーク、Web サービスとアプリケーション、インスタント メッセンジャー、シンプルなサイトが構築される基礎、つまりネットワークについて話しましょう (この一連の記事の文脈では、「ネットワーク」という用語はグローバルインターネット)。ネットワークは膨大な数のコンピュータで構成されており、それらは相互接続されており、通信可能です。Web アプリケーションはあるコンピューターから別のコンピューターに情報を転送する役割を担うため、これがどのように行われるかを理解することが重要です。OSIネットワークモデル
OSI (Open Systems Interconnection) モデルは、ネットワークを構築するための階層化されたアプローチを作成します。同じネットワークのメンバーがどのレベルでどのように相互作用できるかを明確に示します。このモデルには合計 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 アドレス - ネットワーク上の加入者のアドレス。
- ポート — 特定のサブスクライバのアプリケーション アドレス。
- セッションは、2 人のサブスクライバー間の通信全体にわたって存在するエンティティです。
- アプリケーション プロトコル (HTTP/HTTPS) は、メッセージを作成して送信する際の指針となるルールです。
GO TO FULL VERSION