- Hãy nói một chút về mạng.
- Hãy xem xét cấu trúc của máy khách-máy chủ và kiến trúc ba cấp độ.
- Hãy xem các giao thức HTTP/HTTPS.
- Hãy tìm hiểu mọi thứ bạn cần biết về Maven.
- Hãy nói về servlet.
- Các thùng chứa servlet.
- Và cuối cùng - về MVC.
Phần 1. Nói một chút về mạng
Hãy bắt đầu với điều quan trọng nhất và nói về cơ sở xây dựng tất cả các mạng xã hội, dịch vụ và ứng dụng web, tin nhắn tức thời và các trang web đơn giản - về mạng ( trong bối cảnh của loạt bài viết này, thuật ngữ “mạng” có nghĩa là Internet toàn cầu ). Mạng bao gồm một số lượng lớn các máy tính: chúng được kết nối với nhau và có khả năng giao tiếp. Điều quan trọng là phải hiểu cách chúng thực hiện điều này, bởi vì các ứng dụng web chính xác là những gì chúng làm để truyền thông tin từ máy tính này sang máy tính khác.Mô hình mạng OSI
Mô hình OSI (Kết nối hệ thống mở) tạo ra cách tiếp cận theo lớp để xây dựng mạng. Nó cho thấy rõ ràng các thành viên trong cùng một mạng có thể tương tác với nhau ở cấp độ nào và như thế nào. Tổng cộng, mô hình này có 7 cấp độ:7 | Đã áp dụng |
6 | đại diện |
5 | Phiên họp |
4 | Chuyên chở |
3 | Mạng |
2 | ống dẫn |
1 | Thuộc vật chất |
-
1. Cấp độ vật lý - ở đây các định luật vật lý thực hiện công việc của chúng và nhiệm vụ của con người là sử dụng và chỉ đạo điều này cho mục đích riêng của mình. Ví dụ: tạo cáp và đặt chúng cho các thành viên mạng.
Chúng tôi không quan tâm.
-
Lớp liên kết dữ liệu - chịu trách nhiệm truyền dữ liệu đến các nút mạng và tạo các kênh truyền dữ liệu trên các đối tượng vật lý.
Нам не интересен, если только нет желания писать прошивку для каналообразующей аппаратуры.
-
Сетевой уровень — для определения 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), с которой нам часто придется работать.
Сессия — сущность, которая создается при установке связи между двумя пользователями. В ней можно сохранять нужную нам информацию о юзере, об истории их взаимодействия. Важной деталью является то, что при остановке обмена информацией сессия не пропадает, а сохраняет свое состояние на протяжении установленного промежутка времени, поэтому пользователи могут продолжить обмен информацией после перерыва.
Nếu một ứng dụng liên lạc đồng thời với nhiều người dùng thì số lượng kết nối thích hợp và do đó các phiên sẽ được thiết lập. Mỗi phiên có một mã định danh (ID) duy nhất , cho phép ứng dụng phân biệt giữa những người dùng thực hiện giao tiếp.
-
Lớp trình bày - chịu trách nhiệm mã hóa/giải mã dữ liệu. Rõ ràng, nếu chúng ta cần gửi chuỗi “Xin chào web” cho người dùng khác, thì trước tiên chuỗi đó sẽ được chuyển đổi (mã hóa) thành mã nhị phân và chỉ sau đó mới được gửi đi. Khi đến đích, tin nhắn sẽ được chuyển đổi trở lại (được giải mã) và người nhận có thể nhìn thấy chuỗi gốc. Những hành động này xảy ra ở cấp độ trình bày.
-
Lớp ứng dụng là lớp thú vị nhất đối với chúng tôi. Nó cho phép các ứng dụng tương tác với mạng. Ở cấp độ này, chúng tôi sẽ nhận, gửi tin nhắn, đưa ra yêu cầu tới các dịch vụ và cơ sở dữ liệu từ xa.
Có nhiều giao thức được sử dụng ở cấp độ này: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET và tất nhiên là HTTP/HTTPS. Giao thức là một thỏa thuận chung mà chúng ta tuân thủ khi soạn tin nhắn. Chắc chắn chúng ta sẽ nói về các giao thức HTTP/HTTPS một cách riêng biệt và chi tiết hơn.
- Địa chỉ IP—địa chỉ của thuê bao trên mạng;
- Cổng - địa chỉ ứng dụng của một thuê bao cụ thể;
- Phiên là một thực thể tồn tại trong toàn bộ quá trình giao tiếp giữa hai người đăng ký;
- Các giao thức ứng dụng (HTTP/HTTPS) là các quy tắc sẽ hướng dẫn chúng ta khi soạn và gửi tin nhắn.
GO TO FULL VERSION