Máy chủ web

Máy chủ web (tiếng Anh: "Web server") dùng để chỉ phần mềm để tạo ra một máy chủ, hoặc phần cứng dành riêng để chạy các phần mềm hoặc trang web của máy chủ, để từ đó có thể cung cấp các dịch vụ World Wide Web. Một máy chủ web xử lý các yêu cầu từ các client (trong mô hình server - client) thông qua giao thức HTTP và một số giao thức liên quan khác.

== Tổng quan ==
Chức năng cơ bản nhất của máy chủ web là lưu trữ, xử lý và phân phối nội dung trang web đến khách truy cập, cụ thể ở đây là máy khách, hay còn gọi là client trong mô hình server-client. Giao tiếp giữa của máy khách và máy chủ thực hiện thông qua giao thức HTTP. Nội dung phân phối chính từ máy chủ web là các nội dung định dạng HTML, bao gồm hình ảnh, dàn trang, các đoạn mã hỗ trợ các nội dung 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ó 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.