http://www.perlmonks.org?node_id=1014955


in reply to Do you hide .pl extension on web pages?

I tend to abstract the endpoint, named as what I want it to do, not named as what does it. I also use mod_rewrite for applications not able to handle the rewrite within (vendor CGI, for example).

Allows me to do things like http://example.com/api/parts/ instead of http://example.com/vendor_endpoint/getAllParts.cgi.....

If our vendor changes, their implementation changes, they have a hardcoded endpoint (.../cgi-bin/..., for example), or we add a layer in front of the vendor's implementation (say for another parts database), I am able to add that into the system without the client application (or the user) knowing the difference. It does require some planning and maintenance on your endpoints. I use it because it isolates our API from the implementation of our API.

--MidLifeXis