Hiển thị các bài đăng có nhãn hoạt động của web. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn hoạt động của web. Hiển thị tất cả bài đăng

Thứ Ba, 21 tháng 4, 2015

Hoạt động của Web server (máy chủ web)

Máy chủ web và dịch vụ Web

   Khi bạn click chuột vào đường link đến một trang web bất kỳ hoặc đánh vào địa chỉ URL (Uniform Resource Locator) của nó, những hoạt động gì sẽ xẩy ra đằng sau đó để trang web hiển thị ra màn hình?



1. Nguyên tắc hoạt động của máy chủ web

    Giả sử có một người quen gọi điện thoại cho bạn: “Tôi vừa xem một trang web cung cấp dịch vụ máy chủ rất chuyên nghiệp! Bạn hãy đánh vào địa chỉ sau và xem thử nhé, địa chỉ trang web này là http://maychuvietnam.com.vn Khi bạn gõ dòng địa chỉ đó vào trình duyệt web và ấn Enter, trang web sẽ hiển thị trên màn hình của bạn.

   Làm thế nào mà trang web có thể hiển thị được như vậy? Cơ chế hoạt động của máy chủ web là gì?

   Các bước cơ bản trong tiến trình truyền tải trang web đến màn hình của bạn được thể hiện theo mô hình sau:

 Các tiến trình cơ bản

    Theo mô hình trên, trình duyệt web (bên trái) thực hiện một kết nối tới máy chủ web (bên phải), yêu cầu một trang web và nhận lại nó. Sau đây, là thứ tự từng bước cơ bản xảy đến đằng sau màn hình của bạn:

   Trình duyệt web tách địa chỉ website làm 3 phần:
  • Tên giao thức: “http”
  • Tên miền của máy chủ web: “http://maychuvietnam.com.vn”
  • Tên tệp HTML: “web-server.htm”

   Trình duyệt liên hệ với máy chủ tên miền (DNS Server) để chuyển đổi tên miền “http://maychuvietnam.com.vn” ra địa chỉ IP tương ứng. Sau đó, trình duyệt sẽ gửi tiếp một kết nối tới máy chủ của website có địa chỉ IP này qua cổng 80. Dựa trên giao thức HTTP, trình duyệt gửi yêu cầu GET đến máy chủ, yêu cầu tệp HTML “web-server.htm”. (Chú ý: một cookies cũng sẽ được gửi kèm theo từ trình duyệt web đến máy chủ).

   Tiếp đến, máy chủ sẽ gửi một file văn bản có các thẻ HTML đến trình duyệt web của bạn (một cookies khác cũng được gửi kèm theo từ máy chủ tới trình duyệt web, cookies này được ghi trên đầu trang của mỗi trang web).

   Trình duyệt web đọc các thẻ HTML để xác lập định dạng (hình thức trình bày) trang web và kết xuất nội dung trang ra màn hình của bạn.

    Trong giao thức HTTP nguyên bản, bạn cần cung cấp đầy đủ đường dẫn của tên tệp, ví dụ như “/” hoặc “/tên tệp.htm”. Sau đó, giao thức sẽ tự điều chỉnh để có thể đưa ra một địa chỉ URL đầy đủ. Điều này cho phép các công ty kinh doanh dịch vụ lưu trữ có thể lưu trữ nhiều tên miền ảo (virtual domains), có nghĩa nhiều tên miền cùng tồn tại trên một máy chủ và sử dụng cùng một địa chỉ IP duy nhất. Ví dụ, trên máy chủ của Máy chủ Việt Nam, địa chỉ IP là 123.30.171.44, nhưng nó có hàng trăm tên miền khác nhau cùng tồn tại.

    Rất nhiều máy chủ web đưa thêm các chế độ bảo mật trong nhiều tiến trình xử lý. Ví dụ, khi bạn truy cập vào một trang web và trình duyệt đưa ra một hộp hội thoại yêu cầu bạn đưa vào tên truy cập và mật khẩu, lúc này trang web mà bạn truy cập đã được bảo vệ bằng mật khẩu. Máy chủ web hỗ trợ người quản lý trang web duy trì một danh sách tên và mật khẩu cho phép những người được phép truy cập vào trang web. Đối với những máy chủ chuyên nghiệp, yêu cầu mức độ bảo mật lớn hơn, chỉ cho phép những kết nối đã được mã hóa giữa máy chủ và trình duyệt, do đó những thông tin nhạy cảm như mã số thẻ tín dụng… có thể được truyền tải tên Internet.

    Đó là tất cả những vấn đề cơ bản mà máy chủ Web họat động để truyền tải các trang web chuẩn hay còn gọi là trang web tĩnh. Các trang web tĩnh là những trang web không thay đổi, trừ khi người tạo ra trang web đó thay đổi lại.

2. Dịch vụ web

   Dịch vụ web (WS: Web Service) là một phương thức tích hợp các ứng dụng trên nền web. Mỗi ứng dụng trên nền web có thể sử dụng các thành phần khác nhau để tạo thành một dịch vụ web.

   Dòng tiến trình của một dịch vụ web bao gồm các bước sau:

   Dòng tiến trình của một dịch vụ web

1. Phát hiện – Tìm kiếm các dịch vụ web thích hợp trên một Web Site UDDI.

Tham khảo các chuẩn mới nhất: http://www.UDDI.org

2. Mô tả – Web Site UDDI trả lời bằng một tệp WSDL mô tả về dịch vụ web thích hợp cho ứng dụng client.

Tham khảo các chuẩn mới nhất: http://www.w3.org/2002/ws/desc/

3. Tạo Proxy – Tạo ra một Proxy cục bộ cho dịch vụ từ xa. Hiện nay không có chuẩn cho việc này.

Proxy chuyển một phương tiện khởi động phương thức (method invocation) của đối tượng thành một thông báo XML và ngược lại.

4. Tạo thông báo SOAP – Tạo ra một thông báo SOAP/XML và gửi đến địa chỉ URL được xác định trong tệp WSDL.

Tham khảo các chuẩn mới nhất:

http://www.w3.org/

http://www.ws-i.org

5. Nhận cuộc gọi và diễn dịch – SOAP Listener là một bộ phận chương trình chạy trên máy chủ để thu nhận cuộc gọi và diễn dịch nó cho dịch vụ web.

6. Thực hiện – Dịch vụ Web thực hiện các chức năng của mình và trả kết quả về cho client, thông qua listener và proxy.

  Cấu trúc công nghệ của dịch vụ web

    Dịch vụ web là một thuật ngữ dễ gây nhầm lẫn và bản thân nó cần được giải thích bằng một số khái niệm của công nghệ thông tin như các chuẩn SOAP/XML, UDDI và WSDL:

   UDDI là một chuẩn qui định loại Web Site đặc biệt chuyên cung cấp thông tin về vị trí của các dịch vụ web có trên mạng.

   WSDL là một ngôn ngữ chuẩn cho phép mô tả tính năng của các dịch vụ web.

   SOAP (Simple Object Access Protocol) là một giao thức chuẩn trao đổi thông tin giữa các dịch vụ web.

   XML là chuẩn ngôn ngữ đánh dấu siêu văn bản có thể mở rộng với những sơ đồ mô tả tài liệu (DTD Schema).

   Chính việc trao đổi thông tin giữa các dịch vụ web đòi hỏi sử dụng nhiều công nghệ phải làm việc trơn tru với nhau.

   Dịch vụ web là một phương thức chuẩn để tích hợp các ứng dụng trên nền web (Web-based Applications). Các ứng dụng có thể sử dụng các thành phần khác nhau để tạo thành một dịch vụ, ví dụ như máy chủ chạy một trang web thương mại điện tử kết nối với cổng thanh toán điện tử qua một giao diện lập trình ứng dụng (API). Nếu ta tạo một ứng dụng web bởi công nghệ .NET của Microsoft thì thành phần trên máy chủ chính là hệ thống cung cấp trang HTML (IIS: Internet Information System), còn các thành phần thanh toán và các thành phần .NET được coi là các cấu kiện bên ngoài (component). Các thành phần này được gọi bởi phương thức SOAP (khác phương thức POST, GET thường dùng với HTML) nên không bị gặp phải tường lửa (firewall) khi truy cập các thành phần bên ngoài máy chủ. Và toàn bộ các thành phần đó gọi là một dịch vụ web.

  Dịch vụ web cho phép các tổ chức thực hiện truyền thông dữ liệu mà không cần phải có kiến thức về hệ thống tin học bị che giấu ở phía sau tường lửa. Một số dịch vụ web hiện nay có sẵn hoặc thậm chí miễn phí và càng ngày càng hướng dần vào phục vụ các cơ quan và doanh nghiệp.