Máy chủ web Apache hoạt động như thế nào?

Internet tồn tại như một tập hợp các máy chủ Web lưu trữ các trang Web mà người dùng có thể truy cập từ máy tính của họ. Các máy chủ này phải chạy phần mềm máy chủ để xử lý các yêu cầu của người dùng. Một gói phần mềm như vậy, máy chủ Web Apache, cung cấp giải pháp máy chủ miễn phí cho các nhà phát triển để lưu trữ các trang Web từ đó. Như vậy, nó đã trở thành một chương trình phổ biến để lưu trữ trang web. Máy chủ Apache hoạt động bằng cách xử lý các yêu cầu URL đến máy chủ thông qua các giao thức truyền thông cụ thể theo kiểu đa luồng và tự mở rộng để hoạt động với các ngôn ngữ lập trình và cơ sở dữ liệu.

URL và Giao thức HTTP

Apache là phần mềm máy chủ web và như vậy xử lý chủ yếu các yêu cầu Giao thức truyền siêu văn bản thông qua các yêu cầu địa chỉ Bộ định vị tài nguyên chung. URL chỉ đơn giản là tên của một trang web mà người dùng nhập vào trình duyệt Web để định vị một trang Web. Khi người dùng nhập URL, trình duyệt sẽ gửi một yêu cầu HTTP đến máy chủ chạy Apache, thường là trên cổng 80. Giao thức HTTP là giao thức truyền dữ liệu chuẩn Internet cho các trang Web, vì vậy khi người dùng thực hiện một yêu cầu URL đến Apache máy chủ, máy chủ Apache sẽ xử lý yêu cầu HTTP và trả về các trang Web được yêu cầu.

Đa nhiệm / Đa luồng

Một máy chủ Apache sẽ xử lý nhiều yêu cầu HTTP cùng một lúc. Để làm được điều này, máy chủ phải chạy trên nhiều "luồng" thực thi. Luồng là một phần của chương trình tách ra khỏi chương trình chính và chạy cùng một lúc để hoàn thành một nhiệm vụ cụ thể. Máy chủ Apache sẽ tạo một luồng mới cho mỗi yêu cầu HTTP sẽ xử lý việc tìm nạp và trả về trang Web được yêu cầu. Điều này cho phép Apache phục vụ các trang Web cho nhiều người dùng cùng một lúc.

Chương trình và Phục vụ Tệp

Cùng với các trang Web, máy chủ Apache có thể cho phép người dùng tải tệp xuống máy tính của họ, Apache cũng sẽ xử lý thông qua HTTP. Chúng bao gồm các tệp âm thanh, tệp phim hoặc một số tài liệu nhất định như tài liệu Word hoặc PDF. Nếu người dùng yêu cầu tệp chương trình cho một ngôn ngữ kịch bản, chẳng hạn như PHP, Python hoặc Perl, thì máy chủ Apache sẽ thực thi chương trình và gửi đầu ra của chương trình cho người dùng thông qua HTTP. Tuy nhiên, để xử lý các yêu cầu đối với tài liệu có chứa ngôn ngữ kịch bản, máy chủ Apache phải cài đặt mô-đun thích hợp cho ngôn ngữ đó.

Gói Apache

Máy chủ Apache là một gói độc lập, là một phần của các chương trình phục vụ web lớn hơn và hoàn chỉnh với các mô-đun để nâng cao hiệu suất của nó. Một cách triển khai phổ biến của máy chủ Apache là ngăn xếp "LAMP" (Linux, Apache, MySQL và PHP / Perl / Python). Cấu hình này đóng gói máy chủ Apache với khả năng phục vụ Web của nó với cơ sở dữ liệu MySQL và các ngôn ngữ kịch bản như PHP để cung cấp nội dung cơ sở dữ liệu cho các trang web cập nhật như blog.