我正在尝试以散乱的方式学习ARP/TCP/HTTP的基础知识。
举个例子,在我去google.com并搜索时,会发生什么?
目前我了解到的是:
为了使我的机器与其他机器通信(在这种情况下是网关),如果它没有MAC地址,则可能需要进行ARP广播(如果它还没有在ARP缓存中)
然后,它需要解析google.com的IP地址。它通过联系DNS服务器来完成此操作。(我不完全确定它如何知道DNS服务器在哪里?或者是网关知道吗?)
由于HTTP建立在TCP协议上(TCP握手:SYN、SYN/ACK、ACK,然后请求内容,然后RST、RST/ACK、ACK),因此这涉及通过TCP协议进行通信。
要加载网页,浏览器获取index.html、解析它,然后根据它需要的内容发送更多请求?(图片等)
最后,在进行实际的Google搜索时,我不知道浏览器如何知道要通信“我在搜索框中输入了一些内容并按下回车键”。
这个理解是否正确? / 我有什么错误或遗漏了什么重要的内容吗?