Trong lĩnh vực công nghệ thông tin, một máy chủ hay máy phục vụ (tiếng Anh: server) là một phần của hệ thống máy tính, bao gồm cả phần cứng và phần mềm (chương trình máy tính), dùng để cung cấp các dịch vụ hoặc chức năng cho các máy tính khác, được gọi là 'máy khách'. Mô hình này được biết đến với tên gọi mô hình khách – chủ. Máy chủ có thể cung cấp nhiều loại dịch vụ khác nhau, ví dụ như chia sẻ dữ liệu hoặc tài nguyên giữa các máy khách, hoặc thực hiện các tính toán cho một số máy khách. Một máy chủ có thể phục vụ nhiều máy khách khác nhau và một máy khách cũng có thể sử dụng nhiều máy chủ. Quá trình này có thể diễn ra trên cùng một thiết bị hoặc thông qua mạng kết nối với máy chủ trên thiết bị khác. Các loại máy chủ phổ biến bao gồm máy chủ cơ sở dữ liệu, máy chủ tập tin, máy chủ thư, máy chủ web, máy chủ trò chơi và máy chủ ứng dụng.
Các hệ thống máy chủ-máy khách hiện đại thường triển khai theo mô hình yêu cầu-phản hồi: máy khách gửi yêu cầu đến máy chủ, thực hiện hành động và nhận phản hồi kèm theo kết quả hoặc xác nhận. Đặt máy tính là 'phần cứng máy chủ' ngụ ý rằng nó được thiết kế để chạy các dịch vụ máy chủ. Điều này thường ngụ ý rằng nó mạnh mẽ và đáng tin cậy hơn máy tính cá nhân tiêu chuẩn, trong khi các hệ thống lớn có thể bao gồm nhiều máy chủ đơn giản, có thể thay thế.
Lịch sử
Sử dụng máy chủ trong lĩnh vực máy tính bắt nguồn từ lý thuyết hàng đợi, xuất hiện từ giữa thế kỷ 20, được sử dụng rộng rãi trong Kendall (1953) (cùng với 'dịch vụ'), bài báo giới thiệu các ký hiệu của Kendall. Trong các tài liệu trước đó, như Erlang (1909)
Trong lĩnh vực máy tính, thuật ngữ 'máy chủ' xuất hiện ít nhất từ RFC 5 (1969), một trong những tài liệu sớm nhất mô tả ARPANET (tiền thân của Internet), phân biệt 'máy chủ' và 'người dùng', định nghĩa hai loại máy chủ mạng: 'máy chủ- máy chủ lưu trữ' và 'máy chủ người dùng'. Thuật ngữ 'phục vụ' cũng được sử dụng từ các tài liệu ban đầu, như RFC 4, phân biệt 'máy chủ phục vụ' và 'máy chủ lưu trữ'.
Hoạt động
Nói một cách chính xác, thuật ngữ máy chủ đề cập đến một chương trình hoặc quy trình máy tính (chương trình đang chạy). Thông qua phép ẩn dụ, nó đề cập đến một thiết bị được sử dụng để (hoặc một thiết bị dành riêng cho) chạy một hoặc một số chương trình máy chủ. Trên mạng, một thiết bị như vậy được gọi là máy chủ. Ngoài máy chủ, các từ phục vụ và phục vụ (như danh từ và như động từ) thường được sử dụng, mặc dù người phục vụ và người hầu thì không. Từ server (danh từ) có thể đề cập đến dạng trừu tượng của chức năng, ví dụ: Dịch vụ web. Ngoài ra, nó có thể đề cập đến một chương trình máy tính biến máy tính thành máy chủ, ví dụ: Dịch vụ Windows. Ban đầu được sử dụng là 'máy chủ phục vụ người dùng' (và 'người dùng sử dụng máy chủ'), theo nghĩa 'tuân theo', ngày nay người ta thường nói rằng 'máy chủ phục vụ dữ liệu', cùng nghĩa với 'cho'. Ví dụ: máy chủ web 'lấy thông tin các trang web cho người dùng' hoặc 'phục vụ các yêu cầu của họ'.
Máy chủ là một phần của mô hình máy khách-máy chủ; trong mô hình này, một máy chủ cung cấp dữ liệu cho các máy khách. Bản chất của giao tiếp giữa máy khách và máy chủ là yêu cầu và phản hồi. Điều này trái ngược với mô hình ngang hàng trong đó mối quan hệ là tương hỗ theo yêu cầu. Về nguyên tắc, bất kỳ quy trình được máy tính hóa nào có thể được sử dụng hoặc gọi bởi một quy trình khác (đặc biệt là từ xa, đặc biệt là để chia sẻ tài nguyên) là một máy chủ và quy trình gọi hoặc các quy trình là một máy khách. Vì vậy, bất kỳ máy tính đa năng nào được kết nối với mạng đều có thể lưu trữ các máy chủ. Ví dụ: nếu các tệp trên thiết bị được chia sẻ bởi một số quy trình, thì quy trình đó là một máy chủ tệp. Tương tự, phần mềm máy chủ web có thể chạy trên bất kỳ máy tính nào có khả năng và do đó máy tính xách tay hoặc máy tính cá nhân có thể lưu trữ một máy chủ web.
Mặc dù yêu cầu-phản hồi là thiết kế máy khách-máy chủ phổ biến nhất, nhưng vẫn có những thiết kế khác, chẳng hạn như mô hình đăng ký xuất bản. Trong mô hình đăng ký xuất bản, khách hàng đăng ký với một máy chủ pub-sub, đăng ký các loại thông báo được chỉ định; đăng ký ban đầu này có thể được thực hiện theo yêu cầu-phản hồi. Sau đó, máy chủ pub-sub sẽ chuyển tiếp các thông điệp phù hợp đến các máy khách mà không có bất kỳ yêu cầu nào khác: máy chủ đẩy các thông báo đến máy khách, thay vì máy khách kéo các thông báo từ máy chủ như trong phản hồi yêu cầu.
Phân loại
- Máy chủ phân phát địa chỉ IP động
- Máy chủ cơ sở dữ liệu
- Máy chủ điều khiển tên miền
- Máy chủ proxy
- Máy chủ tập tin
- Máy chủ tên
- Máy chủ thư điện tử
- Máy chủ truyền tập tin
- Máy chủ ứng dụng
- Máy chủ web