Web Server là gì ?
Webserver hay máy chủ web là một khái niệm không thể không nói đến trong việc lập trình mạng nói chung và lập trình Web nói riêng. Vậy hôm nay mình xin giới thiệu và làm rõ định nghĩa về một web server. Nó là gì ? và có ứng dụng ra sao trong việc triển khai một website .
I. Web server hay máy chủ web là gì ?
Web server là một máy tính mà trên đó có cài đặt phần mềm để đáp ứng các yêu cầu web thông qua các bộ giao thức mạng.
Giao thức hay gặp nhất chính là HTTP để hiểu rõ hơn về giao thức này các bạn có thể đọc bài viết Giao thức HTTP là gì ? của mình viết. Để hiểu rõ hơn mình sẽ đưa ra một ví dụ.
Khi bạn làm việc với máy tính của mình và đã cài hệ điều hành trên đó thì thông thường sẽ luôn có một phần mềm dịch vụ web chạy ở cổng 80 của máy tính, hay thường được biết đến chính là localhost, cổng này dùng để khi một máy tính khác trong mạng LAN truy cập vào vào thì sẽ đáp ứng.
Hoặc bạn cũng thể tải Tomcat Server về , khởi chạy lên và lúc này bạn có thể truy cập vào đường dẫn localhost:8080 để thấy trang chủ của tomcat. Thì lúc này máy tính của các bạn đã trở thành một web server và phần mềm Tomcat chính là một phần mềm đáp ứng dịch vụ web.
Hoặc trong khóa học Node JS của mình, mình có hướng dẫn tạo một ứng dụng web đơn giản với Node JS và module HTTP trên một cổng xác định, ví dụ là 3000. Thì lúc này các bạn hiểu rằng Node JS chính là một phần mềm đáp ứng dịch vụ web, và ứng dụng web đang chạy ở máy tính của bạn ở cổng 3000. Từ trình duyệt bạn có thể truy cập vào địa chỉ localhost:3000 để thấy được trang web của mình .
qua phần này bạn đã hiểu được như thế nào là một web server, phần tiếp theo mình sẽ nói rõ hơn một web server thì dùng làm gì ?
II. Web server dùng làm gì ?
Web server thực chất dùng để quản lý và phân phát tài nguyên theo yêu cầu
Nhiệm vụ của web server là chạy liên tục 24h /365 ngày để cung đáp ứng liên tục các yêu cầu về web. Khi bạn request trang chủ của Sociss chẳng hạn thì thực chất là bạn đang yêu cầu web server tìm kiếm trong ổ cứng của web server trang index.html của Sociss và gửi trả về.
Khi bạn yêu cầu xem một bài học trên Sociss, thì Web server sẽ phân tích và lấy tên bài học trên URL (Query Param) sau đó truy vấn vào Database để trả về nội dung bài học đó cho bạn, nhìn chung đó cũng là một hình thức phân phát tài nguyên theo yêu cầu của bạn.
Nguyễn Hữu Quyền