HideGuardTài liệu

Tham chiếu · API máy chủ

POST /api/v1/behavior

Lần gửi cuối khi người dùng rời trang.

Lần gửi cuối cùng, khi người truy cập rời trang.

POST /api/v1/behavior

Nó giải quyết vấn đề gì#

Bộ thu thập hành vi giữ cửa sổ sự kiện trong bộ nhớ và gửi kèm lần collect vốn đã diễn ra. Nhưng khi người dùng rời trang, cửa sổ đó chết cùng tài liệu, và trước khi có endpoint này, mọi lượt truy cập đã lưu đều kết thúc với người dùng vẫn còn đang ở trên trang.

Nó không phải một cổng chặn#

Không có gì bị giữ lại, không có gì bị huỷ. Các listener là passive theo thiết kế, và việc điều hướng diễn ra bất kể route này trả lời gì.

Chi tiết truyền tải#

Gửi bằng keepalive với content-type: text/plain. Không dùng JSON content type có chủ ý: một JSON content type sẽ kích hoạt preflight, và một preflight đua với sự kiện unload là đúng thứ cần tránh ở đây.

Xác thực#

presenceToken từ phản hồi collect, cộng với ID lượt truy cập. Site và visitor được đọc ra từ MAC của token, không bao giờ đọc từ body.

Phản hồi được ký#

Nó được ký như một loại thông điệp riêng, nhãn hideguard-behavior-ack-ed25519-v2.

Nhãn riêng quan trọng vì hai loại thông điệp dùng chung một khoá, chung định dạng kid, chung dấu thời gian và chung toàn bộ cú pháp chữ ký. Không có nhãn, một accepted: true bắt được có thể được đưa ra ở chỗ đang chờ một phán quyết.

Khi xác minh, documentId và batchId phải do bạn truyền vào để so sánh. Một phản hồi tự gọi tên batch của chính nó thì không xác nhận điều gì cả.

Những gì không có lần gửi cuối#

Những gì JavaScript của trang không thể biết trước: location.href = …, form.submit(), nút quay lại, một URL gõ tay, một chuyển hướng HTTP. Khoảng trống này được nói ra chứ không che đi.

Điểm đến chỉ là host cộng pathname#

Không có query string, không có fragment. Đó là nơi một trang giữ token và mã đơn hàng của nó.