1

When I google a keyword into google.com, I see this URL in the browser:

https://www.google.com/search?q=harry+potter&sxsrf=AOaemvJzqEslTi5rksHz8Da7pgdZ1J3uMw%3A1634810260185&source=hp&ei=lDlxYYaCCNaL9u8Popq2-AQ&iflsig=ALs-wAMAAAAAYXFHpA2d9PU58mYXikU2pl90IN7Z8wXq&ved=0ahUKEwiGnNLmntvzAhXWhf0HHSKNDU8Q4dUDCAg&uact=5&oq=harry+potter&gs_lcp=Cgdnd3Mtd2l6EAMyCAguEIAEEJMCMgUILhCABDIFCAAQgAQyBQguEIAEMgUIABCABDIFCAAQgAQyBQguEIAEMgUIABCABDIFCC4QgAQyBQgAEIAEOgcIIxDqAhAnOgQIIxAnOgUIABCRAjoLCC4QgAQQxwEQowI6CwguEIAEEMcBEK8BOgsILhCABBDHARDRA1D3GliFJmDtJmgAcAB4AIABowGIAeQKkgEDNi43mAEAoAEBsAEK&sclient=gws-wiz

I understand that virtually all websites work via the Hypertext Transfer Protocol. Some of the most common HTTP methods are GET and POST.

I assume the above is a POST method, since it has a request payload (my search query) and a response payload (the webpage returned).

The parameter "q" is clearly my search keyword.

What do

sxsrf=AOaemvJzqEslTi5rksHz8Da7pgdZ1J3uMw%3A1634810260185

source=hp

ei=lDlxYYaCCNaL9u8Popq2-AQ

iflsig=ALs-wAMAAAAAYXFHpA2d9PU58mYXikU2pl90IN7Z8wXq

ved=0ahUKEwiGnNLmntvzAhXWhf0HHSKNDU8Q4dUDCAg

uact=5

oq=harry+potter

gs_lcp=Cgdnd3Mtd2l6EAMyCAguEIAEEJMCMgUILhCABDIFCAAQgAQyBQguEIAEMgUIABCABDIFCAAQgAQyBQguEIAEMgUIABCABDIFCC4QgAQyBQgAEIAEOgcIIxDqAhAnOgQIIxAnOgUIABCRAjoLCC4QgAQQxwEQowI6CwguEIAEEMcBEK8BOgsILhCABBDHARDRA1D3GliFJmDtJmgAcAB4AIABowGIAeQKkgEDNi43mAEAoAEBsAEK

sclient=gws-wiz

represent, and how does one know?

hmltn
  • 224
  • 3
  • 14
  • 2
    I’m voting to close this question because this is a question about how Google works and it is not a programming question. – Stephen Ostermiller Oct 21 '21 at 13:31
  • Well, this closure was nonsense. This is about programming and as useful to us (if not moreso) than [things like this](https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers). It's also the top Google result for this question and should be opened to provide more thorough and helpful answers. In my case, e.g., I want to know what that sclient gws-wiz bit meant and the only provided answer doesn't cover it. It's not covered by the blog linked by the other reply either. – lly Nov 29 '22 at 09:56
  • Similarly, this question is the parent to [this apparently perfectly acceptable question](https://stackoverflow.com/questions/18584386/what-does-ei-mean-in-the-google-homepage-url-https-www-google-co-in-gws-rd). Identical to [this](https://stackoverflow.com/questions/24300885/meaning-for-google-homepage-parameters-gfe-rd-gws-rd-ei) which got closed, but similarly shouldn't've. – lly Nov 29 '22 at 10:03

2 Answers2

4

There is two ways to know that: Semi-automated using the Unfurl tool and manually reading the list of explanations.

Semi-automated way with use of Unfurl

There is an project Unfurl URL parser and browser, a free tool to check and decode Google Search URLs, https://dfir.blog/introducing-unfurl/.
And here is online hosted version of Unfurl: https://dfir.blog/unfurl/
It is a visual 2D browser of URL parameters, use mouse wheel to zoom in and zoom out, use mouse to unclutter the nodes and watch the explanations for query parameters, not only google.

And further I collected some information, googled it now, 2022-Sep. Beware that Google query parameters explanations can get outdated very soon, every several years, so the only thing you can do is to search again for newer explanations in the Net.

Manual way of reading the list of explanations

Google query parameters explanations from [2021][2021]:

  • q= query sent to search engine

  • oq= 'original query' text of query last typed by user into the search box before the user selected a search term from given suggestions; it coincides with q= if the latter was entered all manually

  • ei= Search Session Start Date/Time
    represents the time that the user’s session started, "Google time" (so no dependence on the local system time).

  • ved= Page Load Date/Time

  • sxsrf= Previous Page Load Date/Time

Explanations from [2016][2016]:

Here is a list of the URL parameters that we would commonly see:

  • q= the query string (keyword) that the user searched
  • oq= tracks the characters that were last typed into the search box before the user selected a suggested search term
  • hl= controls the interface language
  • redir_esc= unknown
  • sa= user search behavior
  • rct= unknown; seems to be related to Google AdWords
  • gbv= control the presence of JavaScript on the page
  • gs_l= unknown; seems to be related to what type of search is being done (i.e., mobile, serp, img, youtube, etc.)
  • esrc= set to ‘s’ for secure search
  • frm= unknown
  • source= where the search originated (i.e., google.com, toolbar, etc.)
  • v= unknown
  • qsubts= unknown
  • action= unknown
  • ct= click location
  • oi= unknown
  • cd= ranking position of the search result that was clicked
  • cad= unknown; appears to be a referrer, affiliate or client token
  • sqi= unknown
  • ved= contains information about the search result link that was clicked (see https://moz.com/blog/inside-googles-ved-parameter)
  • url= the URL that Google will redirect the user to after a search result link is clicked
  • ei= passes an alphanumeric parameter that decodes the originating SERP where user clicked on a related search
  • usg= unknown; possibly handling the encrypted search string
  • bvm= unknown; possibly a location tracker
  • ie= input encoding (default: utf-8)
  • oe= output encoding
  • sig2= unknown

Sources:
[2021]: Analyzing Timestamps in Google Search URLs - Magnet Forensics

[2016]: The Approaching Darkness: The Google Referral URL In 2016

I hope others will update this list, and will add here newer explanations later.


Also I leave here few articles with outdated explanations:

Mna
  • 370
  • 4
  • 7
0

First of all, the request you wrote uses GET as Request Method.

You can easily check that on the Network tab of the Developer Tools in any browser:

enter image description here

Second, the difference between GET and POST (there many other methods but that's other topic) isn't the one you write. Mainly, the difference between these two methods is the presence or not of a body in the request (even if you could send a body in a GET-Request, but that's highly unrecommended).

The Request Methods goal is to indicate the destination server how it should treat the request.

Now, focusing on your question, you could have discover the values of all of them with a simple Google search, but anyway here you have a blog where all the parameters of the Google Search URL are explained:

Google Search URL Parameters [Ultimate Guide]

Daniel Campos Olivares
  • 2,262
  • 1
  • 10
  • 17
  • That guide doesn't even answer the questions the OP asked here. For example, it does not mention the `uact` or `sclient` parameters, or *any* of the parameters for that matter. – cazort Aug 17 '22 at 20:14