Hiểu về Request và Response trong lập trình Web - Học lập trình PHP căn bản
Khi đọc các bài tutorials trên mạng hoặc các video học lập trình trên mạng bạn sẽ nghe đến hai khái niệm là Request và Response. Thực ra hai khái niệm này khá là đơn giản, chỉ cần hiểu request là yêu cầu từ client lên server và response là server trả kết quả về cho client, tuy nhiên ...
Khi đọc các bài tutorials trên mạng hoặc các video học lập trình trên mạng bạn sẽ nghe đến hai khái niệm là Request và Response. Thực ra hai khái niệm này khá là đơn giản, chỉ cần hiểu request là yêu cầu từ client lên server và response là server trả kết quả về cho client, tuy nhiên mục đích mình tạo ra bài viết này là để làm sáng tỏ một số vấn đề rất hữu ích cho các bạn sau này.
Trước khi đọc bài này thì phải chắn chắn rằng bạn đã đọc bài header request và header response nhé.
1. Request là gì?
Request có thể hiểu nhanh là thông tin gửi từ client lên server. Khi bạn lên trình duyệt browser gõ một địa chỉ nào đó, ví dụ bạn gõ là Zaidap.com.net
thì ngay lập tức trình duyệt sẽ dựa vào tên domain để gửi yêu cầu truy cập đến địa chỉ IP mà domain này đang trỏ tới (bạn đừng quan tâm đến domain này do ai quản lý), lúc này phía server sẽ phân tích yêu cầu và sẽ gửi luồng xử lý tới vị trí vị trí lưu trữ của mã nguồn PHP (hoặc mã nguồn bất kì) và nhiệm vụ của các mã nguồn là tiếp nhận yêu cầu, phân tích request đó và trả kết quả lại cho client.
Chúng ta có hai phương thức (2 cách) để gửi request từ client lên server đó là sử dụng phương thức GET và phương thức POST. Mình đã viết một bài về chủ đề này rồi, tuy nhiên trong series này mình sẽ trình bày rõ ràng và cụ thể hơn thông qua những bài viết tiếp theo.
Khi bạn gửi request thì sẽ có rất nhiều thông tin đính kèm theo bao gồm các thông tin của trình duyệt đang sử dụng, địa chỉ IP của mạng mà máy tính bạn đang kết nối và nhiều thông tin khác. Tất cả được chia làm hai nhóm chính sau:
Nhóm 1: Nhóm Header
Nhóm 2: Nhóm chứa dữ liệu
Nhóm này sẽ chứa dữ liệu mà client muốn truyền tải lên server của car hai phương thức POST và GET.
Ok bây giờ mình tìm hiểu làm thế nào để lấy các thông tin đó nhé.
Lấy thông tin từ client gửi lên.
Để lấy các thông tin từ client gửi lên đó chúng ta sẽ dựa vào ba biến toàn cục $_SERVER
, $_REQUEST
, $_GET
và $_POST
. Tuy nhiên vì đây là bài đầu tiên nên mình chỉ giới thiệu biến $_SERVER
thôi nhé, 3 biến còn lại mình sẽ trình bày ở một bài khác.
Các bạn tạo một file PHP bất kì và nhập vào nội dung sau:
echo '<pre>'; var_dump($_SERVER);
Chạy file này lên bạn sẽ nhận được kết quả như hình sau:
Đây chính là một mảng gồm nhiều phần tử chứa các thông tin của client.
2. Response là gì?
Reponse là dữ liệu mà server trả về cho client. Ví dụ khi bạn nhập vào địa chỉ Zaidap.com.net thì kết quả trả về (response) chính là giao diện của website và các thông tin của header. Như vậy dữ liệu mà server trả về là những đoạn mã HTML kèm theo các thông tin của header (xem hình).
Browser sẽ dựa vào các thông tin này để hiển thị trạng thái kết quả của request, còn mã HTML dùng để hiển thị giao diện của website. Nếu bạn nhập vào một URL không tồn tại thì thông tin của header sẽ không có gì (xem hình).
3. Lời kết
Ok bài này chỉ muốn giải thích cho các bạn hiểu request là gì và response là gì. Nếu bạn đọc bài hơi khó hiểu thì bạn hãy hiểu sơ lược như thế này:
- Request: Là client gửi yêu cầu lên server
- Response: Là kết quả từ server trả về cho client
Và sau này khi bạn thành thạo rồi thì hãy quay lại đọc bài này nhé.