Adres URL wskazuje sam zasób. A „klient” jest zasobem, który może być rozpatrzony, więc powinny być częścią podstawowego adresu URL: /orders/view/client/23
.
Parametry służą tylko do parametryzacji dostępu do zasobu. To przede wszystkim wchodzi w grę ze stanowisk i wyszukiwania: /orders/find?q=blahblah&sort=foo
. Jest to linia w porządku między parametrami i podrzędnych zasobów: /orders/view/client/23/active versus /orders/view/client/23?show=active
. Polecam styl zasobu podrzędnego i rezerwuję parametry do wyszukiwania.
Ponieważ każdy punkt końcowy REprezentuje transfer stanu (w celu zmiany mnemonika), niestandardowe nagłówki powinny być używane tylko w przypadku rzeczy, które nie obejmują nazwy zasobu (adresu URL), stanu zasobu (treści) lub bezpośrednio parametrów wpływające na zasób (parametry). To pozostawia prawdziwe metadane dotyczące żądania niestandardowych nagłówków.
HTTP ma bardzo szeroki wybór nagłówków, które obejmują prawie wszystko, czego potrzebujesz. Tam, gdzie pojawiają się niestandardowe nagłówki, jest to system do żądania systemowego działającego w imieniu użytkownika. System proxy zweryfikuje użytkownika i doda „ X-User: userid
” do nagłówków i użyje poświadczeń systemowych, aby dotrzeć do punktu końcowego. System odbierający sprawdza, czy poświadczenia systemowe są upoważnione do działania w imieniu użytkownika, a następnie sprawdza, czy użytkownik jest upoważniony do wykonania tej czynności.