วิธีคิดพื้นฐานเกี่ยวกับเรื่องนี้มีดังนี้:
URI คือตัวระบุทรัพยากรที่ระบุอินสแตนซ์เฉพาะของ TYPE ของทรัพยากรโดยไม่ซ้ำกัน เช่นเดียวกับสิ่งอื่น ๆ ในชีวิตวัตถุทุกชิ้น (ซึ่งเป็นตัวอย่างของบางประเภท) มีชุดแอตทริบิวต์ที่ไม่แปรผันตามเวลาหรือชั่วคราว
ในตัวอย่างข้างต้นรถยนต์เป็นวัตถุที่จับต้องได้มากซึ่งมีคุณลักษณะเช่นยี่ห้อรุ่นและ VIN ซึ่งไม่เคยเปลี่ยนแปลงและสีระบบกันสะเทือน ฯลฯ ที่อาจเปลี่ยนแปลงไปตามกาลเวลา ดังนั้นหากเราเข้ารหัส URI ด้วยแอตทริบิวต์ที่อาจเปลี่ยนแปลงเมื่อเวลาผ่านไป (ชั่วขณะ) เราอาจจบลงด้วย URI หลายรายการสำหรับวัตถุเดียวกัน:
GET /cars/honda/civic/coupe/{vin}/{color=red}
และหลายปีต่อมาหากสีของรถคันเดียวกันนี้เปลี่ยนเป็นสีดำ:
GET /cars/honda/civic/coupe/{vin}/{color=black}
โปรดทราบว่าอินสแตนซ์ของรถเอง (วัตถุ) ไม่ได้เปลี่ยนแปลง แต่เป็นเพียงสีที่เปลี่ยนไป การมี URI หลายตัวที่ชี้ไปยังอินสแตนซ์ออบเจ็กต์เดียวกันจะบังคับให้คุณสร้างตัวจัดการ URI หลายตัวซึ่งไม่ใช่การออกแบบที่มีประสิทธิภาพและแน่นอนว่าไม่ใช้งานง่าย
ดังนั้น URI ควรประกอบด้วยเฉพาะส่วนที่ไม่มีวันเปลี่ยนแปลงและจะระบุทรัพยากรนั้นโดยไม่ซ้ำกันตลอดอายุการใช้งาน ทุกสิ่งที่อาจเปลี่ยนแปลงควรสงวนไว้สำหรับพารามิเตอร์การค้นหาเช่น:
GET /cars/honda/civic/coupe/{vin}?color={black}
บรรทัดล่าง - คิดว่าพหุสัณฐาน