PHP là ngôn ngữ chạy ở phía máy chủ, sinh ra trang HTML gửi về trình duyệt. Bài này giải thích mô hình client–server, giao thức HTTP, vị trí của PHP trong ứng dụng web và vì sao PHP vẫn là lựa chọn tốt để bắt đầu lập trình web.
- Phân biệt mã chạy ở client và ở server
- Hiểu vòng request–response của HTTP
- Biết các phương thức và mã trạng thái HTTP cơ bản
- Biết PHP là gì, phiên bản hiện nay và PHP dùng ở đâu
- Client
- Trình duyệt gửi yêu cầu và hiển thị kết quả.
- Server
- Máy chủ nhận yêu cầu, chạy PHP, truy vấn CSDL, trả về HTML/JSON.
- HTTP
- Giao thức truyền siêu văn bản giữa client và server.
- Request / Response
- Yêu cầu từ client / phản hồi từ server.
Khái niệm và lý thuyết
HTML, CSS, JavaScript chạy trong trình duyệt: đó là phần giao diện. Nhưng đăng ký tài khoản, lưu bài viết, tính điểm, gửi email... phải xảy ra trên máy chủ, nơi có cơ sở dữ liệu và mã nguồn không ai xem được. Đó là việc của PHP.
Vòng đời một yêu cầu: (1) trình duyệt gửi HTTP request tới địa chỉ, ví dụ GET /sinhvien.php?ma=SV001; (2) máy chủ web (Apache/Nginx) chuyển cho trình thông dịch PHP; (3) PHP chạy mã, có thể hỏi MySQL; (4) PHP sinh HTML; (5) máy chủ trả về HTTP response kèm mã trạng thái; (6) trình duyệt hiển thị. Người dùng không bao giờ thấy mã PHP, chỉ thấy HTML kết quả.
| Phương thức | Ý nghĩa | Ví dụ |
|---|---|---|
| GET | Lấy dữ liệu | Xem trang, tìm kiếm |
| POST | Gửi dữ liệu tạo mới | Đăng ký, đăng bài |
| PUT / PATCH | Cập nhật | Sửa hồ sơ (API) |
| DELETE | Xóa | Xóa bài (API) |
| Mã trạng thái | Nghĩa |
|---|---|
| 200 OK | Thành công |
| 301 / 302 | Chuyển hướng |
| 404 Not Found | Không tìm thấy |
| 500 Internal Server Error | Lỗi mã phía máy chủ |
PHP là gì?
PHP (PHP: Hypertext Preprocessor) ra đời năm 1995, hiện ở phiên bản 8.x với hiệu năng cao, kiểu dữ liệu chặt chẽ hơn và nhiều cú pháp hiện đại (match, enum, readonly, fibers). PHP đứng sau WordPress, Wikipedia, Laravel và phần lớn website tại Việt Nam.
- Cú pháp gần C/Java, dễ học nếu đã biết một ngôn ngữ.
- Mã nguồn mở, cài một lần bằng XAMPP là chạy.
- Tài liệu và cộng đồng rất lớn; dễ tìm hosting giá rẻ.
- Học xong PHP thuần có thể chuyển sang Laravel, Symfony.
Mã PHP đầu tiên nhìn ra sao?
<!DOCTYPE html>
<html lang="vi">
<body>
<h1>Xin chào</h1>
<?php
$ten = "Sinh viên Trường Đại học Tây Bắc";
echo "<p>Chào $ten, hôm nay là " . date("d/m/Y") . "</p>";
?>
</body>
</html>Mã PHP nằm giữa <?php ... ?>, xen kẽ với HTML. Khi chạy, máy chủ thay toàn bộ đoạn PHP bằng kết quả echo, trình duyệt chỉ nhận HTML thuần.
HTTPS và công cụ xem request
HTTPS = HTTP + TLS: dữ liệu được mã hóa trên đường truyền, bắt buộc với trang đăng nhập, thanh toán. Để quan sát request/response, mở DevTools (F12) → tab Network, hoặc dùng dòng lệnh:
curl -i https://tuhoctin.net
curl -X POST -d "ten=An&lop=K66" http://localhost/xuly.phpXem lại loạt bài HTML - Form (mục Thiết kế web) vì form là cầu nối đầu tiên giữa người dùng và PHP.
Mở tệp .php bằng cách nhấp đúp sẽ chỉ thấy mã nguồn. Tệp PHP phải chạy qua máy chủ web: http://localhost/... (bài 2).
- Liệt kê 5 việc trên một website bán hàng phải làm ở máy chủ, 5 việc làm ở trình duyệt.
- Mở tab Network, tải lại tuhoctin.net, ghi lại phương thức, mã trạng thái của 3 request đầu.
- Dùng curl -i xem header phản hồi của một website.
- Client hiển thị, server xử lý nghiệp vụ và dữ liệu.
- HTTP: request → response, có phương thức và mã trạng thái.
- PHP sinh HTML ở máy chủ; người dùng không thấy mã PHP.
- PHP 8.x hiện đại, phổ biến, dễ triển khai.