I've been trying to incorporate more page data in the urls that make requests. This is a much easier way to establish the state of the request. Since the web is a Request and Response architecture, you can embed data within the url that is being requested and access that data to build the proper response to the client.
If I want to call the blog page for a Charity, I can send a request of:
http://www.giveness.com/africaaid/blog
When the server sees this request, the application can read the url and know that it needs to create a blog page for the Africa Aid charity.
This next url will make a request for the second page of my blog list:
http://www.giveness.com/member/rwaldvogel/blog/page2
This one will get any blog that I have that is tagged eBay:
http://www.giveness.com/member/rwaldvogel/blog/tag/ebay
From the previous url, this is the actual request that is being made at the server level.
http://www.giveness.com/member/blog.aspx?un=rwaldvogel&tag=ebay
I use to think that people only used this type of design to hide the type of software their application was written in by hiding their file extensions. I now realize that this is a very beneficial way to handle requests.