Recently I commented that the saving grace of the the OGC's Web Map Service protocol is that one can use URL rewriting or other tricks to hide parameters like service, request, and version – junk, as in "junk DNA", to those of us who will never in practice rely on protocol version negotiation – and expose to users not a service endpoint but an infinite space of map images addressed by URLs. For example, this request:
GET /geoserver/wms?service=WMS&request=GetMap&version=1.1.1 &format=image/png&width=800&height=600&srs=EPSG:4326 &layers=states&styles=population&bbox=-180,0,0,90 Host: http://example.com
Can be replaced by:
GET /maps?format=image/png&width=800&height=600&srs=EPSG:4326 &layers=states&styles=population&bbox=-180,0,0,90 Host: http://example.com
Or even, using a specialized host, by:
GET /EPSG/4326/states_population.png?bbox=-180,0,0,90&size=800,400 Host: http://maps.example.com
It is the constraint of HTTP called URI addressability that makes this possible. URI addressability means that "a URI alone is sufficient for an agent to carry out a particular type of interaction" [TAG Finding 21 March 2004]. Rewritability isn't the only nice property of resources that are addressable by URIs; it's also then possible to bookmark resources, share links to them, cache them effectively, and migrate users to new locations.
More precisely, the saving grace of WMS is that its protocol parameterization doesn't obstruct URI addressability.