It's not dynamic and doesn't even allow wildcards. So, you have to use hashes given that opening /details?id=123 won't be served from the cache even if you have everything on the client side to construct that page. Most people just cache /details and navigate to /details#id=123. I think if appcache was made a little more developer friendly, the need for service workers would seriously be reduced.