Một API có thể mang phiên bản của nó trong một trường yêu cầu tùy chỉnh như API-Version. Proxy chuyển tiếp thông thường không nên loại bỏ trường đó chỉ vì tên không quen thuộc. HTTP yêu cầu chuyển tiếp các trường không được nhận diện, trừ khi áp dụng một ngoại lệ đã định nghĩa hoặc một chính sách đã cấu hình.

Trường Connection là một trong những ngoại lệ đó. Hãy so sánh các yêu cầu minh họa sau:

API-Version: 2026-10
Connection: keep-alive

Ở đây trường API không được chỉ định là cục bộ cho kết nối này. Trong ví dụ tiếp theo, người gửi thay đổi phạm vi của nó một cách rõ ràng:

API-Version: 2026-10
Connection: API-Version

Proxy chuyển tiếp loại bỏ các trường được Connection nêu tên trước khi chuyển tiếp và loại bỏ hoặc thay thế chính các chỉ dẫn riêng cho kết nối. Vì vậy, một tiêu đề ứng dụng dành cho nguồn gốc không nên xuất hiện trong danh sách token đó.

Tìm điểm mà trường thay đổi

So sánh yêu cầu do ứng dụng khách dựng nên, các trường mà proxy nhận và chuyển tiếp, và những gì nguồn gốc nhận được. Ứng dụng khách có thể bỏ qua một tiêu đề trước khi proxy nhìn thấy nó; một bộ lọc đã cấu hình có thể cố ý loại bỏ nó; máy chủ có thể từ chối yêu cầu vì vượt quá giới hạn tiêu đề.

Đừng kết luận có việc loại bỏ âm thầm chỉ từ một ngưỡng kích thước tiêu đề được báo cáo trong một triển khai cũ. Giới hạn và hành vi từ chối thuộc về các thành phần và cấu hình thực tế. Hãy giữ phản hồi HTTP và nhật ký liên quan cùng với quan sát.

Với HTTPS đầu cuối trong một đường hầm CONNECT thông thường, proxy không thể đọc và loại bỏ có chọn lọc trường API bên trong. Việc kiểm tra tiêu đề khi đó thuộc về các điểm cuối TLS hoặc một trung gian kiểm tra được tin cậy rõ ràng.

Bài viết liên quan