Cuộc tương tác giữa khách hàng và máy chủ liên quan đến việc trao đổi thông tin. Trong khi người dùng thường tập trung vào nội dung được cung cấp bởi máy chủ web, phản hồi ban đầu bao gồm siêu dữ liệu quan trọng được đóng gói trong phần tiêu đề.
Với Apidog, bạn có thể xây dựng, kiểm tra, giả lập và tài liệu hóa các API trong một ứng dụng duy nhất. Vậy bạn còn chờ gì nữa? Nhanh chóng tối ưu hóa phát triển của bạn bằng cách nhấn nút dưới đây!
Phần tiêu đề này giữ những thông tin quý giá về tài nguyên được yêu cầu, chẳng hạn như loại nội dung, kích thước và ngày sửa đổi. Tiện ích cURL cung cấp một công cụ mạnh mẽ để trích xuất thông tin tiêu đề mà không cần tải xuống toàn bộ nội dung: yêu cầu HEAD.
Để tránh nhầm lẫn, trước tiên chúng ta sẽ định nghĩa các thuật ngữ "cURL" và "yêu cầu HEAD" tương ứng.
cURL là gì?
cURL, viết tắt của "client URL," là một dự án phần mềm đa dạng bao gồm hai thành phần chính:
Công cụ dòng lệnh cURL
Đây là giao diện người dùng mà bạn tương tác trong terminal của bạn. Nó cho phép bạn gửi và nhận dữ liệu bằng cách sử dụng nhiều giao thức mạng khác nhau, phổ biến nhất là HTTP (trang web) và HTTPS (trang web an toàn). Hãy nghĩ về nó như một cách để đưa ra các hướng dẫn cụ thể cho máy chủ về những gì bạn muốn nó thực hiện.
Thư viện phát triển libcurl
Đây là công cụ chính hoạt động ẩn sau. Đây là một thư viện phần mềm mà các lập trình viên có thể tích hợp vào ứng dụng của họ để cho phép các ứng dụng đó truyền dữ liệu sử dụng cùng các giao thức như công cụ curl. Vì vậy, ngay cả khi bạn không trực tiếp sử dụng dòng lệnh curl, bạn có thể đang hưởng lợi từ chức năng của libcurl trong nhiều phần mềm mà bạn sử dụng.
Các tính năng nổi bật của cURL
Hỗ trợ giao thức
Nó là một nhà vô địch trong việc giao tiếp, hỗ trợ một loạt các giao thức ngoài HTTP/HTTPS, bao gồm FTP (chuyển tập tin), SMTP (email), và thậm chí các giao thức cho những mục đích cụ thể.
Độ linh hoạt
Công cụ curl cung cấp một tập hợp các tùy chọn phong phú để điều chỉnh các yêu cầu của bạn. Bạn có thể chỉ định các điều như phương thức xác thực, chế độ truyền dữ liệu, định dạng đầu ra và theo dõi tiến độ.
Đa nền tảng
cURL có mặt trên hầu hết mọi hệ điều hành, làm cho nó trở thành một công cụ phổ biến cho cả các nhà phát triển và quản trị hệ thống.
Yêu cầu HEAD là gì?
Yêu cầu HEAD là một phương thức HTTP cụ thể hoạt động rất giống với yêu cầu GET, với một sự khác biệt quan trọng: máy chủ bỏ qua thân phản hồi trong câu trả lời của nó. Yêu cầu HEAD chỉ lấy thông tin tiêu đề từ phản hồi của máy chủ.
Một yêu cầu HEAD thường được sử dụng để lấy thông tin siêu dữ liệu được lưu trữ trong phần tiêu đề, chẳng hạn như:
Loại nội dung
Điều này chỉ định loại nội dung được phục vụ, chẳng hạn như HTML, hình ảnh (JPEG, PNG), hoặc PDF.
Độ dài nội dung
Điều này tiết lộ kích thước của tài nguyên trong byte, cho phép bạn ước tính thời gian tải xuống hoặc quản lý không gian lưu trữ.
Ngày sửa đổi cuối cùng
Điều này cho biết ngày và giờ tài nguyên được thay đổi lần cuối trên máy chủ.
Các trường hợp sử dụng phổ biến của yêu cầu HEAD
Kiểm tra tính khả dụng của tài nguyên
Một yêu cầu HEAD có thể xác nhận nếu một URL cụ thể trỏ tới một tài nguyên hợp lệ. Mã phản hồi của máy chủ (ví dụ: 200 cho thành công, 404 cho không tìm thấy) cho bạn biết nếu tài nguyên tồn tại.
Tải xuống có điều kiện
Nếu bạn có một bản sao đã lưu cục bộ của một tài nguyên, một yêu cầu HEAD có thể so sánh tiêu đề Last-Modified với phiên bản đã lưu của bạn. Điều này giúp xác định liệu bạn có cần tải xuống phiên bản mới hơn hay không.
Tối ưu hóa tải xuống
Biết trước độ dài nội dung cho phép bạn ưu tiên tải xuống hoặc quản lý các giới hạn băng thông.
Gỡ lỗi & Tự động hóa kịch bản
Các yêu cầu HEAD có thể được sử dụng để xác minh phản hồi của máy chủ và khắc phục sự cố chức năng của trang web trong quá trình phát triển hoặc trong các kịch bản tự động.
Ví dụ mã cho các yêu cầu cURL HEAD
Dưới đây là ba ví dụ mã cho các yêu cầu cURL HEAD mà bạn có thể tham khảo nếu cần.
Ví dụ 1 - Yêu cầu HEAD cơ bản
Đây là ví dụ đơn giản nhất về việc gửi một yêu cầu HEAD đến một URL cụ thể.
curl -I https://www.example.com
Ví dụ 2 - Kiểm tra tính khả dụng của tài nguyên với mã phản hồi
Ví dụ này kiểm tra nếu một tài nguyên tồn tại bằng cách xem xét mã phản hồi.
curl -I -o /dev/null https://www.example.com/images/banner.jpg
Giải thích mã:
Ở đây,-o /dev/null
loại bỏ thân phản hồi (vì chúng ta chỉ quan tâm đến các tiêu đề). Mã phản hồi sẽ được hiển thị, cho biết thành công (200) hoặc một lỗi (ví dụ: 404 Không tìm thấy).
Ví dụ 3 - Tải xuống có điều kiện với tiêu đề Last-Modified
Ví dụ này kiểm tra nếu một tệp cục bộ cần được cập nhật dựa trên tiêu đề Last-Modified của máy chủ.
local_file_date=$(stat -c %y my_file.txt)
curl -I -s https://www.example.com/files/my_file.txt | grep Last-Modified: | cut -d':' -f2- | tr -d '\r' | awk '{print $1,$2,$3,$4,$5,$6}' | cmp - $local_file_date
Giải thích mã:
stat -c %y my_file.txt
lấy ngày sửa đổi cuối cùng của tệp cục bộ.curl -I -s
thu thập tiêu đề một cách âm thầm.- Chúng ta lọc tiêu đề Last-Modified và định dạng nó.
cmp
so sánh ngày của máy chủ với ngày của tệp cục bộ.- Nếu các ngày khác nhau, một thông điệp chỉ ra rằng cần phải cập nhật sẽ được hiển thị.
Apidog - Nhập lệnh cURL chỉ trong vài giây
Apidog là một công cụ phát triển API toàn diện cung cấp các chức năng cho các nhà phát triển nhập lệnh cURL hiện có vào các yêu cầu API có thể đọc trên một giao diện người dùng đẹp!

Hãy xem cách bạn có thể nhanh chóng nhập cURL vào Apidog!
Nhập và chỉnh sửa các API cURL với Apidog

Apidog hỗ trợ người dùng muốn nhập các lệnh cURL vào Apidog. Trong một dự án trống, nhấn nút tím +
ở phía trên bên trái của cửa sổ Apidog, và chọn Nhập cURL
.

Sao chép và dán lệnh cURL vào ô hiển thị trên màn hình của bạn.

Nếu thành công, bạn sẽ có thể xem lệnh cURL dưới dạng một yêu cầu API.
Tạo mã PHP cho API cURL với Apidog
Nếu bạn chưa có kinh nghiệm lập trình bằng ngôn ngữ PHP, đừng lo! Apidog có tính năng tạo mã mà bạn có thể dựa vào, cung cấp cho bạn các khung mã cho nhiều ngôn ngữ lập trình khác.

Đầu tiên, tìm nút </> Tạo mã
trên bất kỳ API hoặc yêu cầu nào, và chọn Tạo mã khách hàng
từ danh sách thả xuống.

Tiếp theo, chọn PHP, và tìm phần cURL. Bây giờ bạn sẽ thấy mã được tạo cho cURL. Tất cả những gì bạn phải làm là sao chép và dán nó vào IDE (Môi trường phát triển tích hợp) của bạn và tiếp tục phát triển ứng dụng của bạn.
Kết luận
Yêu cầu HEAD của cURL phục vụ như một công cụ quý giá để tương tác với các máy chủ web một cách có mục tiêu. Bằng cách chỉ lấy thông tin tiêu đề, nó cho phép bạn thu thập các chi tiết quan trọng về tài nguyên mà không phải tải xuống toàn bộ tệp.
Hiệu quả này chứng minh hữu ích trong nhiều tình huống, từ việc kiểm tra tính khả dụng của tài nguyên và tối ưu hóa tải xuống đến việc tối ưu hóa quy trình phát triển và tạo ra các kịch bản tự động. Khi bạn khám phá khả năng của cURL và các yêu cầu HEAD, bạn sẽ khám phá ra một phương pháp mạnh mẽ để có được thông tin về cách thức phức tạp hoạt động của web.