Web Server hay còn gọi là máy chủ web. Là một phần mềm xử lý các yêu cầu (request) từ các client thông qua giao thức HTTP và một số giao thức khác. Web Server là một phần mềm được cài đặt trên các hệ điều hành thông dụng hiện nay như Windows, Linux,…
Khi người dùng vào trang web có địa chỉ là: https://tel4vn.edu.vn thì Web Server của tel4vn.edu.vn nhận một request sau đó trả về một giao diện trên trình duyệt web được tạo thành bởi nhiều thành phần: html, css, javascript,… Nếu hiểu đơn giản là như vậy, còn quá trình xử lý để có thể xem được một trang web cần rất nhiều bước xử lý giữa các server với nhau.
Hiện nay đã số các máy chủ web thường được cài đặt trên 2 hệ điều hành là Windows và Linux. Các Web Server thường dùng đó là: IIS, Apache, Nginx, LiteSpeed
1. IIS #
IIS là viết tắt của từ (Internet Information Services), được cài đặt cùng với các phiên bản của hệ điều hành Windows. IIS chính là các dịch vụ dành cho máy chủ chạy trên nền hệ điều hành Window nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server… hổ trợ HTTP, HTTP/2, HTTPS, FTP, FTPS, SMTP và NNTP.
IIS không phải là một phần mềm mã nguồn mở nên việc phát triền hoặc chỉnh sửa các tính năng là không được phép. Nếu gặp khó khăn thì hoàn toàn nhận được hổ trợ từ Microsoft.
2. Apache #
Apache là một trong những máy chủ web phổ biến nhất được phát triển bởi Quỹ phần mềm Apache (Apache Software Foundation). Apache là một trong số những web server lâu đời và đáng tin cậy nhất, phiên bản đầu tiên đã được ra mắt từ hơn 20 năm trước, tận những năm 1995.
Apache hỗ trợ hầu hết tất cả các hệ điều hành như Linux, Windows, Unix FreeBSD, Mac OS X và hơn thế nữa. Khoảng 29% website chạy trên Máy chủ Web Apache. Được sử dụng trên rất nhiều website nổi tiếng như: Adobe, VMware, AT&T,…
Apache là một phần mềm mã nguồn mở, miễn phí nên có thể thực hiện những thay đổi chỉnh sửa tùy theo nhu cầu của người dùng.
Thị phần rất lớn của Apache cho thấy được chất lượng và độ ổn định của Apache, nó là lựa chọn hàng đầu cho việc chạy Web Server đơn giản như tin tức, thông tin,…
3. Nginx #
NGINX (đọc là “engine X”) là một phần mềm Web Server mã nguồn mở nỗi tiếng. Ban đầu nó dùng để phục vụ web HTTP. Tuy nhiên, ngày nay nó cũng được dùng làm reverse proxy, HTTP load balancer và email proxy như IMAP, POP3, và SMTP.
NGINX được ra đời vào năm 2004 để xử lý vấn đề C10k đó là giới hạn của việc xử lý 10 ngàn kết nối cùng lúc đến server. NGINX sử dụng kiến trúc hướng sự kiện (event-driven) không đồng bộ (asynchronous). Tính năng này khiến NGINX server trở nên đáng tin cậy, tốc độ và khả năng mở rộng lớn nhất.
NGINX xử lý cùng lúc 1000 kết nối tới nội dung tĩnh nhanh hơn 2 lần so với Apache và dùng ít bộ nhớ hơn. Khi so về hiệu năng trên nội dung động, cả 2 nền tảng cho tốc độ giống nhau. NGINX là lựa chọn tốt hơn cho những ai có website tĩnh nhiều hơn.
Tính đến tháng 8 năm 2019, theo ước tính của Netcraft thì NGINX đã chiếm 32% tổng số website trên toàn thế giới.
4. LiteSpeed #
Một Web Server đó là LiteSpeed (LSWS) là một dịch vụ chạy trên nền tảng Linux. Được biết đến với khả năng cung cấp một hiệu suất cao. LiteSpeed có thể coi là một bản nâng cấp của Apache, với những cấu hình hoàn toàn giống với Apache, người dùng có thể nâng cấp lên mà không làm thay đổi cấu hình cũ.
LiteSpeed được tích hợp với các phần mềm thông dụng khác nhu Cpanel, DirectAdmin, Plesk,..
Được sử dụng khá ít vì phục vụ tính năng riêng biệt nhưng tiềm năng cũng rất cao.
5. Apache Tomcat #
Tomcat là một web server cũng được phát triển bởi Apache Software Foundation, vì vậy tên chính thức của nó là Apache Tomcat. Nó cũng là một server HTTP, tuy nhiên, nó hỗ trợ mạnh cho ứng dụng Java thay vì website tĩnh. Tomcat có thể chạy nhiều bản Java chuyên biệt như Java Servlet, JavaServer Pages (JSP), Java EL, và WebSocket.
Tomcat được tạo đặc biệt riêng cho Java apps, mặc dù Apache là vẫn là một server HTTP. Bạn có thể sử dụng Apache với nhiều ngôn ngữ lập trình khác (PHP, Python, Perl,…) với sự giúp đỡ của module Apache phù hợp (mod_php, mod_python, mod_perl,…)
Mặc dù bạn có thể sử dụng Tomcat server để phục vụ trang web tĩnh, nhưng nó không hiệu quả như là khi sử dụng Apache. Tomcat cũng khó cấu hình hơn các web server khác.
6. Node.js #
Node.js về cơ bản là một môi trường JavaScript phía máy chủ được sử dụng cho các ứng dụng mạng như máy chủ web. Ban đầu nó được viết bởi Ryan Dahl vào năm 2009. Có vị trí thị trường nhỏ hơn, Node.js điều hành 0,2% tất cả các trang web . Dự án Node.js, được quản lý bởi Node.js Foundation, được hỗ trợ bởi chương trình Dự án hợp tác của Quỹ Linux.
Node.js khác với các máy chủ web phổ biến khác vì đây chủ yếu là môi trường thời gian chạy đa nền tảng để xây dựng các ứng dụng mạng. Một kiến trúc hướng sự kiện được áp dụng bởi Node.js có khả năng I/O không đồng bộ. Do các lựa chọn thiết kế này, thông lượng và khả năng mở rộng được tối ưu hóa trong các ứng dụng web giúp chạy các trò chơi trình duyệt và giao tiếp thời gian thực. Node.js cũng giúp hiểu được sự khác biệt trong các ngăn xếp phát triển web, trong đó Node.js rõ ràng là một phần của ngăn xếp HTML, CSS và JavaScript, trái ngược với Apache hoặc NGINX, một phần của một số ngăn xếp phần mềm khác nhau.
Nguồn:
https://news.netcraft.com/archives/2019/08/15/august-2019-web-server-survey.html
https://www.hostinger.vn
https://www.milesweb.com
Thông tin khóa học PHP: tại đây