Tôi đang thiết kế một API công khai cho dữ liệu của công ty tôi. Chúng tôi muốn các nhà phát triển ứng dụng đăng ký khóa API để chúng tôi có thể giám sát việc sử dụng và sử dụng quá mức.
Vì API là REST, suy nghĩ ban đầu của tôi là đặt khóa này trong tiêu đề tùy chỉnh. Đây là cách tôi đã thấy Google, Amazon và Yahoo làm điều đó. Mặt khác, sếp của tôi cho rằng API dễ sử dụng hơn nếu khóa chỉ trở thành một phần của URL, v.v. " http: //api.domain.tld/longapikey1234/resource ". Tôi đoán có điều gì đó cần phải nói về điều đó, nhưng nó vi phạm nguyên tắc của URL là một địa chỉ đơn giản của những gì bạn muốn chứ không phải bằng cách nào hoặc tại sao bạn muốn nó.
Bạn có thấy hợp lý khi đặt khóa vào URL không? Hay bạn sẽ không phải đặt tiêu đề HTTP theo cách thủ công nếu viết một giao diện người dùng javascript đơn giản cho một số dữ liệu?