我对我的问题有一些了解,但并不完全正确。在http请求之后究竟是以编程方式发生了什么?
Scott Hanselman在他的一篇博客文章中说:尽可能详细地描述您认为相关的详细内容,当我在浏览器中输入“cnn.com”并按“Go”时会发生什么。
我的问题正是如此,
答案 0 :(得分:8)
这就像问“描述如何进行冠状动脉搭桥术”。是的,人们可以解释如何,但在开始使用特定程序之前,首先要学习医学和学习基础知识。但是,在要点中:
答案 1 :(得分:2)
浏览器尝试将名称cnn.com解析为其IP地址。
浏览器TCP连接到默认HTTP端口上的cnn.com的IP地址(80)
浏览器向服务器发送GET请求,询问/ page
浏览器说它正在尝试连接到“cnn.com”(cnn.com和bbc.com可能托管在同一个托管公司,具有相同的IP地址)
浏览器还说明了您的浏览器,浏览器引擎,浏览器版本,操作系统以及已安装的插件。
服务器会发送一个标题,说明您的回复内容,您将收到的数据类型(在本例中为HTML),以及响应的大小(如果可用)。
如果浏览器没有任何keep-alive指令,服务器会关闭连接。否则,它将使用此打开的连接来询问可能需要的其他内容(例如,页面中的图像)。
顺便说一句,下载并安装Wireshark,如果你想深入了解窗帘背后的真实情况。