Hầu hết chúng ta đều biết Apache là một phần mềm web server trong khi đó PHP là một ngôn ngữ kịch bản scripting language được sử dụng phổ biến trên server cùng với Apache. Tuy nhiên chính xác thì vai trò cũng như chức năng của Apache và PHP cụ thể như thế nào và chuyện gì xảy ra nếu server chỉ được cài đặt Apache hoặc PHP?
Trước tiên bạn cần nắm rõ được một request khi gửi tới server sẽ được xử lý như thế nào.
Vai Trò Của Apache
Khi một HTTP request được gửi tới server máy chủ thì nó sẽ xử lý trước tiên bởi một phần mềm được gọi là HTTP web server (hay thường gọi vắn tắt là phần mềm web server hoặc web server) được cài đặt trên server. Hiện nay Apache là một trong những phần mềm web server được sử dụng phổ biến trên thế giới tuy nhiên không phải là phần mềm web server duy nhất, ngoài Apache chúng ta còn có thể sử dụng phần mềm web server khác cũng rất phổ biến có tên là NGINX.
Ví dụ về luồng hoạt động của Apache
Khi client (chẳng hạn như trình duyệt web) chúng ta thực hiện gửi một request tới server với địa chỉ http://localhost/index.html
, máy chủ khi nhận được request sẽ chuyển request này cho phần mềm web server để xử lý (trường hợp của chúng ta là Apache). Apache sẽ tìm kiếm tập tin index.html
trong thư mục gốc và trả về cho client. Trường hợp không tìm thấy tập tin index.html
Apache sẽ trả về lỗi 404 not found.
Tuy nhiên như bạn biết HTML là ngôn ngữ đánh dấu (markup language) và nó không thể thực hiện được các công việc như truy cập tới cơ sở dữ liệu, lưu trữ session, xử lý dữ liệu form…
Vì vậy mà để làm các công việc này chúng ta cần tới ngôn ngữ scripting như PHP (hoặc Ruby, Java…).
Vai Trò Của PHP đối với Apache
PHP là ngôn ngữ lập trình kịch bản giúp thực hiện các tác vụ mạnh mẽ như đã đề cập ở trên. Tuy nhiên PHP lại không phải là một phần mềm web server, nói cách khác việc xử lý HTTP request gửi tới server cần được xử lý bởi web server (Apache) như chúng ta đã tìm hiểu ở trên.
Để PHP có thể tham gia vào quá trình xử lý request của web server (Apache) thì chúng ta sẽ cần tích hợp một thư viện có tên là mô-đun PHP mod_php
vào trong Apache web server.
Sau khi Apahce được tích hợp và kích hoạt mod_php
thì lúc này khi server nhận được một request gửi tới từ phía client với địa chỉ URL là http://localhost/index.php
nó vẫn sẽ chuyển request này cho Apache để xử lý như thường lệ.
Tuy nhiên lúc này Apache nhận thấy tập tin index.php
là một tập tin PHP và do đó nó sẽ thông qua mod_php
để nhờ PHP xử lý tập tin index.php
này và trả về kết quả. Sau khi nhận được kết quả xử lý từ PHP, Apache lúc này mới chuyển trả kết quả về cho client.
Nếu các bạn cảm thấy Website TanHongIT.Com thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
Xem thêm:
- Apache là gì? Và Kiến thức về Apache Web Server
- Mô hình Client-Server là gì? Cách hoạt động Client-Server hiện nay
- Bài 1: Ngôn ngữ lập trình PHP là gì và hướng dẫn thiết lập môi trường để lập trình PHP
- Bài 8: lệnh Break, Continue và các hàm (function) exit, die thường dùng trong PHP
- Bài 13: Phương thức GET và POST trong PHP
- Bài 14: Cookie là gì? Cookie trong PHP
CHÚC CÁC BẠN THÀNH CÔNG VÀ VUI VẺ