Các trang web được xem bằng cách sử dụng một chương trình phần mềm được gọi là trình duyệt web.
Phần mềm duyệt web chạy trên máy tính xách tay hoặc điện thoại thông minh của bạn giống như phần mềm Excel hoặc Photoshop.
Trình duyệt web tải xuống nội dung qua mạng Internet. Trình duyệt web có thể tải xuống và truyền trực tuyến các file như văn bản , hình ảnh, pdf, phim và nhạc. Các file này được lưu trữ trên một máy tính đặt ở nơi khác được gọi là máy chủ (Server).
Máy chủ cũng là máy tính. Nó chứa các file trong hệ thống của nó giống như các file và thư mục trên máy tính cá nhân của bạn. Về mặt kỹ thuật, toàn bộ các máy kết nối với nhau này chính là mạng Internet. Biểu tượng Internet chỉ để minh họa các kết nối trong mạng. Máy chủ chấp nhận yêu cầu Internet được gọi là máy chủ Web (Web Server). Để chấp nhận các yêu cầu Internet, máy chủ chạy một chương trình phần mềm gọi là web-server. Phần mềm Web Server quyết định các file và chương trình nào được phép truy cập từ Internet.
Máy chủ cũng có thể chứa các file riêng tư không được phép truy cập từ trang web. Do đó, các yêu cầu tải trang web (web request) được xử lý bởi Web Server, hoạt động như một loại cổng bảo mật. Tất cả các trang web chỉ là văn bản. Ngay cả các file đa phương tiện như ảnh và video đều được mã hóa và được gửi đi dạng file văn bản . Khi có yêu cầu đến, máy chủ xử lý yêu cầu và gửi lại văn bản HTML mô tả trang web mà bạn thấy .
Cách đơn giản nhất để gửi nội dung HTML tới người dùng là Web Server truy xuất file ảnh, nhạc, video từ hệ thống file của nó. Điều đó có nghĩa là trang Amazon.com có hàng triệu trang sản phẩm được lưu trữ dưới dạng file? Tạo hàng triệu file sản phẩm sẽ tốn rất nhiều thời gian và rất khó bảo trì.
Vậy cập nhật trang hiển thị sản phẩm sẽ dẫn đến phải chỉnh sửa từ file đơn ư ?!?
KHÔNG!!
Chúng ta sẽ có một phần mềm được gọi là Ứng dụng web (Web Application) là 1 chương trình phần mềm có thể tạo trang web động theo yêu cầu. Web Server được định cấu hình để định tuyến các yêu cầu đến Web Application thay vì cung cấp file trực tiếp.
Các Web Application có thể đọc từ một file mẫu và xây dựng một trang HTML động. Điều này có nghĩa là các trang web không thực sự tồn tại, một Web Application sẽ tạo ra chúng khi có người cần hiển thị. Một Web Application có thể tương tác với một cơ sở dữ liệu.
Cơ sở dữ liệu là một chương trình phần mềm được cài đặt trên máy chủ giúp lưu trữ và truy xuất DỮ LIỆU hiệu quả. Chúng ta có thể sử dụng cơ sở dữ liệu để lưu trữ hàng triệu sản phẩm của Amazon dưới dạng bảng gồm các cột: mô tả, giá, kích thước, hình ảnh. Web Application sẽ truy vấn (đọc) cơ sở dữ liệu và điền các mẫu HTML để tạo ra trang sản phẩm động.
Dữ liệu sản phẩm được sử dụng để điền một mẫu trang có các giá trị gắn động dạng như {Tên sản phẩm}, {Giá tiền}, v.v.
Bây giờ, nếu bạn muốn thay đổi giao diện trang xem sản phẩm, bạn chỉ phải thay đổi một file duy nhất.
Các chương trình phần mềm của chúng ta chạy trên một máy chủ vật lý (1 máy tính). Mỗi máy chủ có giới hạn vật lý về số lượng yêu cầu hiển thị HTML mà nó có thể xử lý. Để xử lý nhiều yêu cầu hơn , hoặc mở rộng ứng dụng của bạn, bạn có thể di chuyển phần mềm cơ sở dữ liệu của bạn đến máy chủ cơ sở dữ liệu (Database Serve) nằm độc lập.
Bây giờ, Web Server của bạn có thể tập trung vào việc phân phối các yêu cầu duyệt web. Trong khi Database Server của bạn nhận được nhiều sức mạnh tính toán hơn để quản lý cơ sở dữ liệu.
Một máy chủ duy nhất có thể là một nút thắt cổ chai. Web Server không còn xử lý tải cơ sở dữ liệu nữa, nhưng nó vẫn chịu trách nhiệm cho tất cả các Requests. Chúng ta có thể giúp cái máy chủ chạy chậm này bằng cách thêm nhiều bạn của nó vào để san sẻ cân bằng tải. Nhiều Web Server sẽ phân bổ các yêu cầu tải trang web (cân bằng tải).
Làm thế nào để chúng ta gửi yêu cầu đến các máy chủ mới vừa thêm vào?
Máy chủ PROXY ngược ủy quyền các yêu cầu trên nhiều Web Server. Proxy ngược được chèn trước Web Server của chúng tôi để yêu cầu chuyển trực tiếp đến Proxy ngược. Proxy ngược chạy chương trình phần mềm Web Server của riêng nó . Web Server trên máy tính chủ Proxy ngược được định cấu hình để định tuyến các yêu cầu đến các máy chủ khác. Sử dụng nhiều Web Server nhỏ được gọi là mở rộng theo chiều ngang. Chia tỷ lệ theo chiều ngang thường là chi phí hiệu quả – nó rẻ hơn việc phải mua nhiều máy chủ đơn lẻ nhưng mạnh. Mở rộng theo chiều ngang giúp giảm bớt rủi ro. Nhiều máy chủ có nghĩa là một số máy chủ có thể bị lỗi và các máy chủ khác sẽ nhận tải. Một Database Server tập trung duy trì tính toàn vẹn dữ liệu trên các Web Server. Điều này giải quyết trường hợp yêu cầu của người dùng sẽ được xử lý ở app 1 trước, sau đó yêu cầu khác của cùng một người dùng được xử lý ở app 2.
Như vậy là bạn đã hiểu hết về cơ chế hoạt động theo mô hình Client-Server của các máy chủ và các trang web rồi đó. Các bạn hãy tìm thêm tài liệu để đọc thêm nhé ^^!