Dùng HTTP Date và Age để kiểm tra thời gian thô qua proxy
Dùng phản hồi HTTP Date để kiểm tra thời gian thô và tính đến tuổi của phản hồi đã lưu trong bộ nhớ đệm trước khi diễn giải.
Phản hồi web có thể cung cấp một mốc thời gian thô khi tuyến ra hiện có là proxy HTTP. Với một điểm cuối được kiểm soát mà bạn tin tưởng đồng hồ của nó, hãy yêu cầu các tiêu đề phản hồi của nó qua tuyến đó:
curl --head --proxy http://proxy.example.net:8080 https://time.example.net/
Máy chủ là một điểm cuối ví dụ, không phải dịch vụ thời gian công cộng. Nếu điểm cuối đáng tin cậy có thể truy cập công khai và mạng cho phép một trung gian công cộng không cần xác thực, danh sách proxy HTTP có thể cung cấp các ứng viên cho địa chỉ proxy; nó không cung cấp đồng hồ đáng tin cậy. Một phản hồi có thể chứa:
Date: Thu, 29 Oct 2026 08:15:20 GMT
Age: 45
Date biểu thị thời điểm thông điệp HTTP hình thành. Điều đó không nhất thiết có nghĩa là "thời điểm hiện tại ở máy khách này". Một phản hồi đã lưu trong bộ nhớ đệm có thể có Date cũ hơn trong khi vẫn hợp lệ để dùng lại. Trường Age biểu thị ước tính của bộ nhớ đệm về tuổi của phản hồi tính bằng giây.
Trong phản hồi minh họa này, việc cộng thêm tuổi được báo cáo cho một mốc tham chiếu thô vào khoảng 08:16:05 GMT trước khi tính đến độ trễ truyền và sai số ước tính. Đây không phải là độ lệch được đo. Hãy ghi lại thời điểm máy khách gửi yêu cầu và nhận phản hồi nếu ứng dụng muốn mô tả sự không chắc chắn.
Một số máy chủ không hỗ trợ HEAD như mong đợi hoặc bỏ qua siêu dữ liệu thời gian dùng được. Hãy coi trường bị thiếu hoặc sai định dạng là một quan sát thời gian thất bại. Phản hồi 407 mô tả trao đổi proxy, nên Date của nó không tự động là đồng hồ của điểm cuối mà bạn định truy vấn.
Chọn mục đích của quan sát
Điều này có thể giúp nhận ra một đồng hồ sai vài giờ hoặc vài ngày, hoặc gắn một dấu thời gian từ xa gần đúng vào báo cáo chẩn đoán. Nó không cung cấp việc chọn đồng hồ và xử lý độ trễ/độ lệch của NTP, và không nên dẫn dắt các điều chỉnh đồng hồ nhạy cảm với độ chính xác.
Để đồng bộ hệ thống thực sự, hãy dùng dịch vụ thời gian đã được mạng phê duyệt và một đường đồng bộ thời gian được hỗ trợ. Tuyến proxy HTTP có thể mang việc kiểm tra tiêu đề ở trên mà không làm cho bản thân giao thức NTP trở nên khả dụng.