Google.com and clients1.google.com/generate_204

前端 未结 11 685
梦毁少年i
梦毁少年i 2020-12-07 16:40

I was looking into google.com\'s Net activity in firebug just because I was curious and noticed a request was returning \"204 No Content.\"

It turns out that a 204 N

相关标签:
11条回答
  • 2020-12-07 17:06

    Many applications access this URL to determine if they have a connection that only leads to a captive portal.

    The idea is that any captive portal thinks this is a "normal" website, and then redirects you to its portal site, which is returned with a status 200. If an application tries to access any normal website, it is confronted with a totally unexpected response and may have problems figuring out what's wrong. However, with this URL it's easy: If you get status 200, you are inside a captive portal, and you can tell your user to do something about it (usually either log in to the portal using a browser, or turn WiFi off and rely on 3G, if they are using a phone). If you get status 204, you got connected to Google, so your application is actually connected to the internet.

    Microsoft and Apple use a slightly different approach; they both have some URLs that return a very specific short text message with a status 200, so instead of accessing the Google url you can for example go to "captive.apple.com" and check for status 200 with data = "Success" and nothing else. If you get status 200 and not exactly that data then you are again in a captive portal.

    0 讨论(0)
  • 2020-12-07 17:09

    The generate 204 might be dynamically loading the suggestions of search criteria. AS i can see from my load test script, this is seemingly responsible for every server call each time the user types into the text box

    0 讨论(0)
  • 2020-12-07 17:11

    Well i have been looking at this for a few times and resulted that Google logs referer's where they come from first time visiting the google.com for ex; tracking with Google Chrome i have a 90% guess that its for Logging Referers, maybe User-Agent statistics well known when Google release its list of standards of browser usage:

    • Request URL: http://clients1.google.se/generate_204

    • Request Method: GET

    • Status Code: 204 No Content

    Response Headers

    • Content-Length: 0
    • Content-Type: text/html
    • Date: Fri, 21 May 2010 17:06:24 GMT
    • Server: GFE/2.0

    Here "Referer" under "^Request Headers" shows Googles statistics that many folks come from Microsoft.com, also parsing out the word "Windows 7" to help me focus on Windows 7 in my up-following searches that session

    //Steven

    0 讨论(0)
  • 2020-12-07 17:13

    Like Snukker said, clients1.google.com is where the search suggestions come from. My guess is that they make a request to force clients1.google.com into your DNS cache before you need it, so you will have less latency on the first "real" request.

    Google Chrome already does that for any links on a page, and (I think) when you type an address in the location bar. This seems like a way to get all browsers to do the same thing.

    0 讨论(0)
  • 2020-12-07 17:14

    with the massive remit by google to stop both spam and the scraping of their search database, I believe that this is part of the effort to track bots etc.

    some simple anti bot pseudo could go like this.

    On GET (google.*) Save RemoteEndPoint
    {
        If RemoteEndPoint GETs (clients1.google.com/generate_204) Then
            Set botAlert_stage1 = false;
        Else
            Set botAlert_stage1 = true;
        End If
    }
    

    I also believe that the latest google frontpage 'theme' is also a new tool to help with the anti spam/bot activity.

    ** NOTE ** ipv6.google.com also includes this measure.

    Just my unfounded unproofed two 2p.

    0 讨论(0)
  • 2020-12-07 17:17

    Google is using this to detect whether the device is online or in captive portal.

    Shill, the connection manager for Chromium OS, attempts to detect services that are within a captive portal whenever a service transitions to the ready state. This determination of being in a captive portal or being online is done by attempting to retrieve the webpage http://clients3.google.com/generate_204. This well known URL is known to return an empty page with an HTTP status 204. If for any reason the web page is not returned, or an HTTP response other than 204 is received, then shill marks the service as being in the portal state.

    Here is the relevant explanation from the Google Chrome Privacy Whitepaper:

    In the event that Chrome detects SSL connection timeouts, certificate errors, or other network issues that might be caused by a captive portal (a hotel's WiFi network, for instance), Chrome will make a cookieless request to http://www.gstatic.com/generate_204 and check the response code. If that request is redirected, Chrome will open the redirect target in a new tab on the assumption that it's a login page. Requests to the captive portal detection page are not logged.

    More info: http://www.chromium.org/chromium-os/chromiumos-design-docs/network-portal-detection

    0 讨论(0)
提交回复
热议问题