
- Chúng ta sẽ nói một chút về mạng.
- Chúng ta sẽ kiểm tra kiến trúc client-server và ba tầng.
- Chúng ta sẽ khám phá các giao thức HTTP/HTTPS.
- Chúng ta sẽ tìm hiểu mọi thứ bạn cần biết về Maven.
- Chúng ta đang nói về đăng nhập.
- Giới thiệu về thùng chứa servlet.
- Và cuối cùng, về MVC.
Phần 1. Chúng ta sẽ nói một chút về mạng.
Hãy bắt đầu với những gì quan trọng nhất bằng cách nói về những gì mà mọi mạng xã hội, dịch vụ web và ứng dụng web, trình nhắn tin nhanh và trang web đơn giản được xây dựng trên — mạng (trong ngữ cảnh của loạt bài viết này, thuật ngữ "mạng" có nghĩa là Internet ) . Mạng bao gồm một số lượng lớn máy tính: chúng được kết nối với nhau và có thể giao tiếp. Điều quan trọng là phải hiểu cách họ làm điều này, bởi vì các ứng dụng web gửi thông tin từ máy tính này sang máy tính khác.mô hình OSI
Mô hình Kết nối Hệ thống Mở (OSI) tạo ra cách tiếp cận theo tầng để xây dựng mạng. Nó chỉ rõ cách thức và ở tầng nào các thực thể của cùng một mạng có thể tương tác với nhau. Nói chung, mô hình này bao gồm 7 lớp:7 | Ứng dụng |
6 | Bài thuyết trình |
5 | Phiên họp |
4 | Chuyên chở |
3 | Mạng |
2 | Liên kết dữ liệu |
1 | Thuộc vật chất |
-
Lớp vật lý — Lớp này xử lý các định luật vật lý và cách sử dụng chúng cho các mục đích của chúng ta. Ví dụ: tạo cáp và đặt chúng cho các thực thể trong mạng.
Lớp này không quan tâm đến chúng tôi.
-
Tầng liên kết dữ liệu — Tầng này chịu trách nhiệm truyền dữ liệu đến các nút mạng và tạo kênh truyền dữ liệu cho các đối tượng vật lý.
Chúng tôi không quan tâm đến lớp này trừ khi bạn muốn viết chương trình cơ sở cho phần cứng thiết lập liên kết dữ liệu.
-
Lớp mạng — Lớp này dùng để xác định địa chỉ của người dùng mạng riêng lẻ và các tuyến đường đến họ. Có giá trị trong việc tìm hiểu thêm về các chi tiết của lớp này, cụ thể là địa chỉ mạng.
Địa chỉ mạng được xác định bởi một giao thức đặc biệt: phổ biến nhất là IPv4 (Giao thức Internet phiên bản 4). Đây là giao thức mà một lập trình viên web cần sử dụng để liên hệ với một người dùng mạng khác.
Địa chỉ IPv4 bao gồm bốn giá trị byte được phân tách bằng dấu chấm, ví dụ: 192.0.2.235. Bạn nên nhớ rằng những giá trị này là byte, có nghĩa là chúng nằm trong phạm vi 0..255.
Ngược lại, địa chỉ IP được chia thành các lớp. Chúng ta không thể đơn giản gán cho mình một tổ hợp số đẹp mà chúng ta sẽ không đi sâu lắm ở đây. Đủ để hiểu rằng một địa chỉ IP xác định duy nhất một người dùng mạng và có thể được sử dụng để liên hệ với người dùng đó.
-
Tầng vận chuyển — Tầng này xử lý việc gửi thông tin đến người nhận. Các giao thức khác nhau được sử dụng để thực hiện điều này. Hiện tại, chúng tôi không quan tâm đến chúng. Chúng tôi quan tâm nhiều hơn đến khái niệm cổng xuất hiện ở lớp này.
Các cổng chịu trách nhiệm xác định một ứng dụng cụ thể trên máy tính. Ví dụ: giả sử bạn viết ứng dụng trò chuyện bằng Java, cài đặt ứng dụng đó trên 2 máy tính và muốn gửi tin nhắn cho bạn của mình. Tin nhắn của bạn được đóng gói, gửi đến một địa chỉ IP cụ thể và được gửi đến bạn của bạn, nhưng máy tính của anh ta không biết phải làm gì với thông tin nhận được vì nó không hiểu ứng dụng nào sẽ xử lý tin nhắn của bạn. Khi các thực thể mạng giao tiếp, các cổng được sử dụng để chỉ ra ứng dụng nào sẽ xử lý thông tin.
Cổng là một số trong phạm vi từ 0 đến 65535. Nó được thêm vào địa chỉ IP sau dấu hai chấm: 192.0.2.235:8080 . Nhưng bạn không thể sử dụng tất cả các cổng trong phạm vi đã chỉ định: một số trong số chúng được dành riêng cho hệ điều hành, những cổng khác thường được sử dụng cho các mục đích cụ thể. Chúng tôi sẽ không đi sâu vào mục đích của các cổng khác nhau. Đến đây cũng đủ hiểu vai trò của chúng trong quá trình giao tiếp trên mạng.
-
Lớp phiên — Lớp này tạo và quản lý các phiên giao tiếp. Ở lớp này, các ứng dụng có thể tương tác, gửi các yêu cầu cấp dịch vụ. Điều chúng ta cần biết là ở lớp này, một phiên được mở giữa hai người dùng và chúng ta phải làm việc với phiên đó.
Phiên là một thực thể được tạo khi kết nối được thiết lập giữa hai người dùng . Nó có thể lưu trữ thông tin cần thiết về người dùng và về lịch sử tương tác với người dùng. Một chi tiết quan trọng là khi ngừng trao đổi thông tin, phiên sẽ không biến mất. Thay vào đó, nó duy trì trạng thái của nó trong một khoảng thời gian nhất định, vì vậy người dùng có thể tiếp tục trao đổi thông tin sau khi nghỉ.
Nếu một ứng dụng đang giao tiếp với nhiều người dùng cùng một lúc, thì số lượng kết nối tương ứng (và do đó là 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 mà nó đang giao tiếp.
-
Lớp trình bày — Lớp nà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 này được chuyển đổi thành mã nhị phân (được mã hóa dưới dạng) và chỉ sau đó chuỗi này mới được gửi. Khi đến tay người nhận, tin nhắn được chuyển đổi ngược 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 diễn ra ở lớ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 giao tiếp với mạng. Ở lớp này, chúng tôi nhận và gửi tin nhắn cũng như đưa ra yêu cầu đối với các dịch vụ và cơ sở dữ liệu từ xa.
Có nhiều giao thức được sử dụng ở tầng này: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET và tất nhiên là cả HTTP/HTTPS. Một giao thức là một thỏa thuận chung mà chúng tôi tuân thủ khi giao tiếp. Chúng tôi chắc chắn sẽ cung cấp một cuộc thảo luận chi tiết riêng về HTTP/HTTPS.

- Địa chỉ IP — Địa chỉ của người dùng trong mạng
- Cổng — Địa chỉ ứng dụng của một người dùng cụ thể
- Phiên — Một thực thể tồn tại trong suốt thời gian giao tiếp giữa hai người dùng
- Giao thức ứng dụng (HTTP/HTTPS) — Đây là những quy tắc mà chúng tôi sẽ tuân theo khi soạn và gửi tin nhắn.
DNS (Hệ thống tên miền)
Như chúng ta đã biết, mỗi người dùng mạng có một địa chỉ duy nhất. Nếu chúng ta đang nói về ứng dụng, thì địa chỉ duy nhất của nó sẽ là IPv4-address:port . Nếu bạn biết địa chỉ này, bạn có thể truy cập trực tiếp vào ứng dụng. Hãy tưởng tượng rằng chúng tôi đã viết một ứng dụng web hiển thị nhiệt độ không khí trung bình ở tất cả các quốc gia trong thời gian thực. Chúng tôi đã triển khai nó trên máy chủ có địa chỉ 226.69.237.119, trên cổng 8080. Để có thể nhận thông tin từ chúng tôi, người dùng phải nhập 5 số vào trình duyệt: 226.69.237.119:8080. Mọi người không thích ghi nhớ các bộ số: nhiều người trong chúng ta không thể nhớ nhiều hơn hai số điện thoại. Đó là lý do tại sao Hệ thống tên miềnđã được phát minh. Chúng tôi có thể tạo một "bí danh" cho địa chỉ của mình, ví dụ: world-Temperature.com. Thay vì tìm kiếm chúng tôi bằng một địa chỉ bao gồm năm số khó nhớ, người dùng có thể nhập tên miền của chúng tôi vào thanh địa chỉ của trình duyệt. Có các máy chủ DNS ánh xạ tên miền tới địa chỉ thực. Ví dụ: khi người dùng nhập codegym.cc trong trình duyệt, yêu cầu của cô ấy sẽ được gửi đến máy chủ DNS, máy chủ này sẽ chuyển đổi nó thành địa chỉ thực.
GO TO FULL VERSION