Máy chủ web

**Máy chủ web** (tiếng Anh: web server) là phần mềm cung cấp tài nguyên và dịch vụ trên máy chủ cho người dùng thông qua World Wide Web. Thuật ngữ này cũng có thể chỉ chính máy tính được cấu hình để chạy phần mềm đó và phân phối các trang web tới khách truy cập. Trong mô hình khách – chủ, máy chủ web xử lý yêu cầu từ các máy khách bằng HTTP và một số giao thức liên quan.

## Tổng quan
Chức năng cơ bản của máy chủ web là lưu trữ, xử lý và phân phối nội dung trang web cho máy khách, hay còn gọi là client trong mô hình client-server. Việc trao đổi giữa máy khách và máy chủ được thực hiện chủ yếu qua giao thức HTTP. Nội dung phân phối thường là tài liệu HTML kèm theo hình ảnh, tập tin định kiểu và các thành phần hỗ trợ hiển thị văn bản thô. 

Người dùng, thường là trình duyệt web hoặc trình thu thập dữ liệu web, khởi tạo giao tiếp bằng cách yêu cầu một tài nguyên cụ thể bằng HTTP và máy chủ phản hồi với nội dung của tài nguyên đó hoặc thông báo lỗi nếu không thể thực hiện. Tài nguyên thường là một tệp thực sự trên bộ nhớ thứ cấp của máy chủ, nhưng cũng có thể là những thứ khác, và nó phụ thuộc vào cách máy chủ web được triển khai.

Mặc dù chức năng chính là phân phát nội dung, việc triển khai đầy đủ HTTP cũng bao gồm các cách nhận nội dung từ khách hàng. Tính năng này được sử dụng để gửi biểu mẫu web, bao gồm tải lên tệp.  

Nhiều máy chủ web chung cũng hỗ trợ kịch bản lệnh phía máy chủ bằng cách sử dụng các trang Active Server Pages (ASP), PHP hoặc các ngôn ngữ kịch bản khác. Điều này có nghĩa rằng hành vi của máy chủ web có thể được viết trong các tệp riêng biệt, trong khi phần mềm máy chủ thực tế vẫn không thay đổi. Thông thường, chức năng này được sử dụng để tạo ra các trang HTML động ("on-the-fly") khác với các trang web tĩnh trả về. Trước đây được sử dụng chủ yếu để lấy hoặc sửa đổi thông tin từ cơ sở dữ liệu. Các trang web tĩnh thường nhanh hơn và dễ lưu trữ hơn nhưng không thể cung cấp nội dung động.  

Các máy chủ web không chỉ được sử dụng để phục vụ World Wide Web. Nó cũng có thể được tìm thấy trong các thiết bị như máy in, thiết bị định tuyến, webcam và chỉ phục vụ một mạng nội bộ. Sau đó, máy chủ web có thể được sử dụng như một phần của hệ thống để theo dõi hoặc quản lý thiết bị được đề cập. Điều này thường có nghĩa là không có phần mềm bổ sung nào phải được cài đặt trên máy khách, vì chỉ cần một trình duyệt web (mà hiện nay sẵn có trong hầu hết các hệ điều hành). 

## Lịch sử

Năm 1989, Tim Berners-Lee đã đề xuất một dự án mới cho chủ nhân CERN, với mục tiêu giảm bớt trao đổi thông tin giữa các nhà khoa học bằng cách sử dụng hệ thống siêu văn bản. Dự án dẫn đến Berners-Lee viết hai chương trình vào năm 1990:

* Một trình duyệt gọi là World Wide Web 
* Máy chủ web đầu tiên trên thế giới, sau này được gọi là CERN httpd, chạy trên NextSTEP

Từ năm 1991 đến 1994, sự đơn giản và hiệu quả của các công nghệ đầu tiên được sử dụng để xem và trao đổi dữ liệu thông qua World Wide Web đã giúp họ chuyển sang nhiều hệ điều hành khác nhau và đưa vào sử dụng giữa các tổ chức và trường đại học.

Năm 1994 , Berners-Lee quyết định thành lập Hiệp hội Web toàn cầu (W3C) để điều chỉnh sự phát triển hơn nữa của nhiều công nghệ liên quan (HTTP, HTML, v.v...) thông qua một quá trình tiêu chuẩn hóa.

## Tham khảo