Một số thông tin cơ bản về khái niệm Web Server. Cách hoạt động, phân loại static web server và dynamic web server. Click Xem!


[Web Server Là Gì] - Chức Năng Của Web Server

Có thể nói khi làm việc về máy tính, đặc biệt là Công Nghệ Thông Tin chúng ta không thể bỏ qua khái niệm về web server. Vậy web server là gì, trong bài viết sau đây mình sẽ định nghĩa về web server cho các bạn mới, các bạn đang tìm hiểu về makerting cùng tham khảo.

Web-Server

Web server là gì?

Web server dịch ra tiếng Việt nghĩa là máy chủ. Web server là máy tính lớn được kết nối với tập hợp mạng máy tính mở rộng. Đây là một dạng máy chủ trên internet mỗi máy chủ là một IP khác nhau và có thể đọc các ngôn ngữ như file *.htm và *.html… Tóm lại máy chủ là kho để chứa toàn bộ dữ liệu hoạt động trên internet mà nó được giao quyền quản lý.

Web server phải là một máy tính có dung lượng lớn, tốc độ rất cao để có thể lưu trữ vận hành tốt một kho dữ liệu trên internet. Nó sẽ điều hành trơn chu cho một hệ thống máy tính hoạt động trên internet, thông qua các cổng giao tiếp riêng biệt của mỗi máy chủ. Các web server này phải đảm bảo hoạt động liên tục không ngừng nghỉ để duy trì cung cấp dữ liệu cho mạng lưới máy tính của mình.

web-server-hoat-dong
 

Dễ hiểu hơn web server chính là máy chủ, được thiết kế với các siêu tính năng dùng để chứa các dữ liệu cho một phần mạng lưới máy tính trên internet. Tất cả những hoạt động dịch vụ trên internet nào đều phải có máy chủ này mới hoạt động được.

Đôi nét về web server

  • Web server có thể xử lý dữ liệu và cung cấp thông tin đến máy khách thông qua các máy tính cá nhân trên môi trường Internet qua giao thức HTTP, giao thức được thiết kế để gửi các file đến trình duyệt Web, và các giao thức khác. (Ví dụ: khi các bạn truy cập vào trang web vinahost.vn máy chủ sẽ cung cấp đến các bạn tất cả dữ liệu về trang web đó thông qua lệnh giao tiếp)
  • Máy tính nào cũng có thể là một máy chủ nếu cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet.
  • Phần mềm Web Server Software cũng giống như các phần mềm khác, nó dùng để cài đặt và chạy trên bất kì máy tính nào đáp ứng đủ yêu cầu về bộ nhớ. Nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng
  • Khi là SEO chúng ta thường gặp các máy chủ nhỏ, máy chủ ảo và thông thường chúng ta hay thuê máy chủ dạng VPS hay Hosting để lưu giữ liệu trang web của mình.
webserver

Tóm lược

"Web server" có thể là phần cứng hoặc phần mềm, hoặc cả hai.

  1. Ở khía cạnh phần cứng, một web server là một máy tính lưu trữ các file thành phần của một website (ví dụ: các tài liệu HTML, các file ảnh, CSS và các file JavaScript) và có thể phân phát chúng tới thiết bị của người dùng cuối (end-user). Nó kết nối tới mạng Internet và có thể truy cập tới thông qua một tên miền giống như mozilla.org.
  2. Ở khía cạnh phần mềm, một web server bao gồm một số phần để điều khiển cách người sử dụng web truy cập tới các file được lưu trữ trên một HTTP server(máy chủ HTTP). Một HTTP server là một phần mềm hiểu được các URL (các địa chỉ web) và HTTP (giao thức trình duyệt của bạn sử dụng để xem các trang web).

Ở mức cơ bản nhất, bất cứ khi nào một trình duyệt cần một file được lưu trữ trên một web server, trình duyệt request (yêu cầu) file đó thông qua HTTP. Khi một request tới đúng web server (phần cứng), HTTP server (phần mềm) gửi tài liệu được yêu cầu trở lại, cũng thông qua HTTP.

 

Để xuất bản một website, bạn cần một static hoặc dynamic web server.

Một static web server, hoặc stack, bao gồm một máy tính (hardware) với một HTTP server (phần mềm). Chúng ta gọi nó là "static" bởi vì server (máy chủ) gửi các file nó lưu trữ "nguyên vẹn" (as-is) tới trình duyệt của bạn.

Một dynamic web server bao gồm một static web server cộng với các phần mềm mở rộng, phổ biến nhất là một application server (máy chủ ứng dụng) và một database. Chúng ta gọi nó là "dynamic" bởi vì application server cập nhật các file được lưu trữ trước khi gửi chúng tới tình duyệt của bạn thông qua HTTP server.

Ví dụ, để tạo ra các trang web mà bạn nhìn thấy trong trình duyệt, application server có thể điền một HTML template với những nội dung lấy từ một database. Các site giống như MDN hay Wikipedia có hàng nghìn trang web, nhưng chúng không phải là các tài liệu HTML thực sự, mà chỉ là vài HTML template và một database khổng lồ. Thiết lập này làm cho nó dễ dàng và nhanh hơn để bảo dưỡng và phân phối nội dụng.

 

Tìm hiểu sâu hơn

Để lấy một trang web, trình duyệt của bạn gửi một request tới web server, nó sẽ tìm kiếm file được yêu cầu, lưu trữ trên ổ đĩa của nó. Khi tìm thấy file, server đọc nó, xử lý nếu cần, và gửi nó tới trình duyệt. Hãy xem xét các bước này chi tiết hơn.

Lưu trữ các file (Hosting files)

Đầu tiên, một web server phải lưu trữ các file của website, đó là các tài liệu HTML và các tài nguyên liên quan đến nó, bao gồm các ảnh, file CSS, file JavaScript, fonts và videos.

Về mặt kỹ thuật, bạn có thể lưu trữ tất cả các file trên máy tính của mình, nhưng có nhiều lợi ích hơn khi lưu trữ chúng trên một máy chủ riêng biệt như:

  • luôn luôn sẵn sàng (up and running)
  • luôn luôn kết nối tới mạng Internet
  • có một địa chỉ IP cố định
  • được bảo dưỡng bởi nhà cung cấp (third-party provider)

Vì tất cả những lý do này, tìm một nhà cung cấp máy chủ (hosting provider) tốt là một phần quan trọng trong việc xây dựng website của bạn.

Khi bạn đã chọn được một nhà cung cấp web hosting, bạn cần upload các file của bạn tới web server của mình.

Giao tiếp thông qua HTTP

Thứ hai, một web server hỗ trợ HTTP (Giao thức truyền phát siêu văn bản - Hypertext Transfer Protocol). Như tên gọi, HTTP là cách truyền các siêu văn bản - hypertext (ví dụ: các tài liệu web) giữa hai máy tính.

Một giao thức là một tập hợp các quy tắc để kết nối giữa hai máy tính. HTTP là một giao thức textual, stateless.

Textual

Tất cả các lệnh là văn bản thuần túy (plain-text) và con người có thể đọc được.

Stateless

Cả server và client không nhớ kết nối trước đó. Ví dụ, nếu chỉ có HTTP, một server không thể nhớ mật khẩu bạn đã nhập hoặc bước nào bạn đã làm trong một giao dịch. Bạn cần một application server cho những nhiệm vụ như vậy. (Chúng tôi sẽ đề cập đến công nghệ này trong một bài viết khác).

HTTP cung cấp các quy tắc rõ ràng, về cách client và server giao tiếp với nhau.

  • Chỉ client có thể tạo các HTTP request tới các server. Các server chỉ có thể đáp trả HTTP request của client.
  • Khi yêu cầu một file thông qua HTTP, client phải cung cấp URL của file.
  • Web server phải trả lời mọi HTTP request, ít nhất với một thông điệp lỗi (error message).

 

Trên một web server, HTTP server chịu trách nhiệm xử lý và trả lời các request đến.

  1. Khi nhận một request, một HTTP server sẽ kiểm tra xem URL được yêu cầu có khớp với một file hiện có không.
  2. Nếu có, web server gửi nội dung file trả lại trình duyệt. Nếu không, một application server sẽ tạo ra file cần thiết.
  3. Nếu không thể xử lý, web server trả lại một thông điệp lỗi cho trình duyệt, phổ biến nhất là "404 Not Found". (Đó là lỗi phổ biến, cái mà nhiều nhà thiết kế web dành khá nhiều thời gian để thiết kế 404 error page).

Nội dung static vs dynamic

Nói chung, một server có thể phục vụ cả nội dung static hoặc dynamic. "Static" có nghĩa là "được phục vụ nguyên vẹn" (served as-is). Các static website là dễ dàng nhất để thiết lập, vì thế chúng tôi gợi ý bạn tạo một static site trước tiên.

"Dynamic" có nghĩa là server xử lý nội dung hoặc thậm chí tạo ra chúng với dữ liệu từ database. Giải pháp này linh hoạt hơn, nhưng stack kỹ thuật trở lên khó khăn hơn để xử lý, làm cho việc xây dựng website trở lên phức tạp hơn.

Lấy ví dụ trang web bạn đang đọc hiện nay. Một web server lưu trữ (hosting) nó, có một application server lấy nội dung bài viết từ một database, định dạng nó, đẩy nó vào trong HTTP template, và gửi kết quả cho bạn. Trong trường hợp này, application server được gọi là Kuma và được xây dựng với Python (sử dụng framework Django). Mozilla team xây dựng Kuma cho nhu cầu riêng của MDN, nhưng nhiều ứng dụng tương tự được xây dựng trên nhiều công nghệ khác.

Có rất nhiều application server và thật khó để gợi ý cụ thể. Một vài application server phục vụ các loại website cụ thể như: blogs, wikis, hay e-shop, ... được gọi là CMSs (các hệ quản trị nội dung - content management systems). Nếu bạn đang xây dựng một dynamic website, dành thời gian chọn một công cụ phù hợp với nhu cầu của bạn. 

>> Lựa chọn tên miền tốt nhất
>> Lưu ý khi chọn Hosting Giá Rẻ