Trong điện toán, một máy chủ hay máy phục vụ (tiếng Anh: server) là một phần của máy tính phần cứng hoặc phần mềm (chương trình máy tính) mà cung cấp chức năng cho các chương trình khác hoặc các thiết bị, được gọi là "máy khách". Kiến trúc này được gọi là mô hình khách – chủ. Máy chủ có thể cung cấp các chức năng khác nhau, thường được gọi là "dịch vụ", chẳng hạn như chia sẻ dữ liệu hoặc tài nguyên giữa nhiều máy khách hoặc thực hiện tính toán cho một máy khách. Một máy chủ duy nhất có thể phục vụ nhiều máy khách và một máy khách có thể sử dụng nhiều máy chủ. Quy trình máy khách có thể chạy trên cùng một thiết bị hoặc có thể kết nối qua mạng với máy chủ trên một thiết bị khác.[1] Các máy chủ điển hình là máy chủ cơ sở dữ liệu, máy chủ tập tin, máy chủ thư, máy chủ in, máy chủ web, máy chủ trò chơi và máy chủ ứng dụng.[2]
Các hệ thống máy khách-máy chủ ngày nay được triển khai thường xuyên nhất bởi (và thường được xác định bằng) mô hình yêu cầu-phản hồi: máy khách gửi một yêu cầu đến máy chủ, thực hiện một số hành động và gửi phản hồi trở lại máy khách, thường kèm theo một kết quả hoặc xác nhận. Việc chỉ định một máy tính là "phần cứng cấp máy chủ" ngụ ý rằng nó chuyên dùng để chạy các máy chủ trên đó. Điều này thường ngụ ý rằng nó mạnh hơn và đáng tin cậy hơn các máy tính cá nhân tiêu chuẩn, nhưng cách khác, các cụm máy tính lớn có thể bao gồm nhiều thành phần máy chủ tương đối đơn giản, có thể thay thế được.
Việc sử dụng máy chủ từ trong máy tính xuất phát từ lý thuyết xếp hàng,[3] nơi nó có từ giữa thế kỷ 20, được sử dụng đặc biệt trong Kendall (1953) (cùng với "dịch vụ"), bài báo giới thiệu ký hiệu của Kendall. Trong các tài liệu trước đó, chẳng hạn như Erlang (1909) , các thuật ngữ cụ thể hơn như "máy điều hành [điện thoại]" được sử dụng.
Trong máy tính, "máy chủ" có niên đại ít nhất là từ RFC 5 (1969),[4] một trong những tài liệu sớm nhất mô tả ARPANET (tiền thân của Internet), và tương phản với "người dùng", phân biệt 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 ". Việc sử dụng "phục vụ" cũng có từ các tài liệu ban đầu, chẳng hạn như RFC 4,[5] tương phản giữa "máy chủ phục vụ" với "máy chủ lưu trữ sử dụ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. [a] 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ủ phục vụ 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ố quá trình, thì quá 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.[6]
Server is a fairly recent computer networking term derived from queuing theory.Quản lý CS1: sử dụng tham số tác giả (liên kết)