I have a website at www.grokit.ca hosted on google app engine. If I issue the following command:
nslookup -query=any -debug www.grokit.ca
... I get the following output:
$ nslookup -query=any -debug www.grokit.ca Server: X.Y.Z.12 Address: X.Y.Z.12#53 ------------ QUESTIONS: www.grokit.ca, type = ANY, class = IN ANSWERS: -> www.grokit.ca canonical name = ghs.googlehosted.com. ttl = 400 AUTHORITY RECORDS: ADDITIONAL RECORDS: ------------ Non-authoritative answer: www.grokit.ca canonical name = ghs.googlehosted.com.
Same with dig:
; <<>> DiG 9.9.6 <<>> www.grokit.ca ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34283 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4000 ;; QUESTION SECTION: ;www.grokit.ca. IN A ;; ANSWER SECTION: www.grokit.ca. 865 IN CNAME ghs.googlehosted.com. ghs.googlehosted.com. 214 IN A 188.8.131.52 ;; Query time: 55 msec ;; SERVER: X.Y.Z.12#53(X.Y.Z.12) ;; WHEN: Fri Dec 11 17:53:03 PST 2015 ;; MSG SIZE rcvd: 92
So basically I get it, my domain is CNAME (~alias), which is linked to ghs.googlehosted.com, which is at IP address 184.108.40.206. However, if I point the browser to 220.127.116.11, this is just a default google website:
So my question is, where is the rest of the DNS lookup? How does the browser know where to issue the GET given that if it uses the IP resolved by DNS it will get a 404 (going to the website on a web browser from www.grokit.ca does work).