Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 320415
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T08:45:05+00:00 2026-05-12T08:45:05+00:00

Yesterday morning I noticed Google Search was using hash parameters: http://www.google.com/#q=Client-side+URL+parameters which seems to

  • 0

Yesterday morning I noticed Google Search was using hash parameters:

  • http://www.google.com/#q=Client-side+URL+parameters

which seems to be the same as the more usual search (with search?q=Client-side+URL+parameters). (It seems they are no longer using it by default when doing a search using their form.)

Why would they do that?

More generally, I see hash parameters cropping up on a lot of web sites. Is it a good thing? Is it a hack? Is it a departure from REST principles? I’m wondering if I should use this technique in web applications, and when.

There’s a discussion by the W3C of different use cases, but I don’t see which one would apply to the example above. They also seem undecided about recommendations.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T08:45:05+00:00Added an answer on May 12, 2026 at 8:45 am

    Google has many live experimental features that are turned on/off based on your preferences, location and other factors (probably random selection as well.) I’m pretty sure the one you mention is one of those as well.

    What happens in the background when a hash is used instead of a query string parameter is that it queries the "real" URL (http://www.google.com/search?q=hello) using JavaScript, then it modifies the existing page with the content. This will appear much more responsive to the user since the page does not have to reload entirely. The reason for the hash is so that browser history and state is maintained. If you go to http://www.google.com/#q=hello you’ll find that you actually get the search results for "hello" (even if your browser is really only requesting http://www.google.com/) With JavaScript turned off, it wouldn’t work however, and you’d just get the Google front page.

    Hashes are appearing more and more as dynamic web sites are becoming the norm. Hashes are maintained entirely on the client and therefore do not incur a server request when changed. This makes them excellent candidates for maintaining unique addresses to different states of the web application, while still being on the exact same page.

    I have been using them myself more and more lately, and you can find one example here: http://blixt.org/js — If you have a look at the "Hash" library on that page, you’ll see my implementation of supporting hashes across browsers.


    Here’s a little guide for using hashes for storing state:

    How?

    Maintaining state in hashes implies that your application (I’ll call it application since you generally only use hashes for state in more advanced web solutions) relies on JavaScript. Without JavaScript, the only function of hashes would be to tell the browser to find content somewhere on the page.

    Once you have implemented some JavaScript to detect changes to the hash, the next step would be to parse the hash into meaningful data (just as you would with query string parameters.)

    Why?

    Once you’ve got the state in the hash, it can be modified by your code (or your user) to represent the current state in your application. There are many reasons for why you would want to do this.

    One common case is when only a small part of a page changes based on a variable, and it would be inefficient to reload the entire page to reflect that change (Example: You’ve got a box with tabs. The active tab can be identified in the hash.)

    Other cases are when you load content dynamically in JavaScript, and you want to tell the client what content to load (Example: http://beta.multifarce.com/#?state=7001, will take you to a specific point in the text adventure.)

    When?

    If you had a look at my "JavaScript realm" you’ll see a border-line overkill case. I did it simply because I wanted to cram as much JavaScript dynamics into that page as possible. In a normal project I would be conservative about when to do this, and only do it when you will see positive changes in one or more of the following areas:

    • User interactivity
      • Usually the user won’t see much difference, but the URLs can be confusing
      • Remember loading indicators! Loading content dynamically can be frustrating to the user if it takes time.
    • Responsiveness (time from one state to another)
    • Performance (bandwidth, server CPU)

    No JavaScript?

    Here comes a big deterrent. While you can safely rely on 99% of your users to have a browser capable of using your page with hashes for state, there are still many cases where you simply can’t rely on this. Search engine crawlers, for example. While Google is constantly working to make their crawler work with the latest web technologies (did you know that they index Flash applications?), it still isn’t a person and can’t make sense of some things.

    Basically, you’re on a crossroads between compatability and user experience.

    But you can always build a road inbetween, which of course requires more work. In less metaphorical terms: Implement both solutions so that there is a server-side URL for every client-side URL that outputs relevant content. For compatible clients it would redirect them to the hash URL. This way, Google can index "hard" URLs and when users click them, they get the dynamic state stuff!

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm using the Facebook C# SDK. My site was working fine yesterday. This morning
referring to yesterday's post, this woke me up this morning. Why does this actually
Yesterday, I have a discussion with my colleagues about HTTP. It is asked why
Yesterday I was trying to implement a Listener for a SelectManyListbox using Ajax in
I'm trying to use the jQuery Cycle plugin (http://jquery.malsup.com/cycle/) to rotate testimonials located within
Good morning friendly Flashers ;) So I've been trying since yesterday to just load
I maintain three wordpress blogs, and yesterday-morning, they were all hacked. Inside all my
I was working on a project for which i was using curl to fetch
Good morning! Yesterday I watched Tekpub's amazing video Dependency Injection and Inversion of Control
I searched google this morning and could not find an answer, so I would

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.