Tôi đang thiết lập một dịch vụ web REST chỉ cần trả lời CÓ hoặc KHÔNG, càng nhanh càng tốt.
Thiết kế một dịch vụ HEAD có vẻ là cách tốt nhất để làm điều đó nhưng tôi muốn biết liệu tôi có thực sự mất thời gian so với việc thực hiện yêu cầu GET hay không.
Tôi cho rằng tôi đạt được luồng nội dung không được mở / đóng trên máy chủ của mình (khoảng 1 mili giây?). Vì số lượng byte trả về rất thấp, tôi có mất thời gian trong quá trình truyền tải, ở số gói IP không?
Cảm ơn trước sự phản ứng của bạn!
Biên tập:
Để giải thích thêm về bối cảnh:
- Tôi có một tập hợp các dịch vụ REST đang thực thi một số quy trình, nếu chúng ở trạng thái hoạt động.
- Tôi có một dịch vụ REST khác cho biết trạng thái của tất cả các dịch vụ đầu tiên này.
Vì dịch vụ cuối cùng đó sẽ được gọi rất thường xuyên bởi một tập hợp rất lớn khách hàng (dự kiến cứ sau 5ms sẽ có một cuộc gọi), tôi đã tự hỏi liệu sử dụng phương pháp HEAD có thể là một tối ưu hóa có giá trị không? Khoảng 250 ký tự được trả lại trong phần nội dung phản hồi. Phương pháp HEAD ít nhất đạt được sự vận chuyển của 250 ký tự này, nhưng tác động đó là gì?
Tôi đã cố gắng đánh giá sự khác biệt giữa hai phương pháp (HEAD so với GET), chạy 1000 lần các cuộc gọi, nhưng không thấy lợi ích gì cả (<1ms) ...
Content-Length
giá trị tiêu đề, đây là thông tin quan trọng trong phản hồi của yêu cầu HEAD. Trừ khi có một số phương pháp tiếp cận phía máy chủ khác được tối ưu hóa hơn, lợi ích duy nhất là băng thông được tiết kiệm và máy khách không phải phân tích cú pháp nội dung phản hồi. Vì vậy, về cơ bản, lợi ích tối ưu hóa phụ thuộc vào cả việc triển khai máy chủ và máy khách.