在浏览器输入网址后回车执行的具体步骤

一、URL自动解析 HTTP

URL自动解析 HTTP,URL包含了用于查找某个资源的足够信息,基本格式如下:HTTP://host[“:”port][abs_path],其中HTTP表示桶盖HTTP协议来定位网络资源;host表示合法的主机域名或IP地址,port指定一个端口号,缺省80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。例如:输入www. baidu .com;浏览器会自动转换成:http://www.baidu.com/

二、浏览器查找域名的IP地址

获取IP,建立TCP连接 浏览器地址栏中输入”HTTP://www.xxx.com/”并提交之后,首先它会在浏览器缓存、系统缓存、路由器缓存中查找,如果有则直接告诉IP地址。如果没有则在网关DNS服务器进行查找,找到对应的IP后,则返回会给浏览器。

三、浏览器给web服务器发送一个HTTP请求

当获取IP之后,就开始与所请求的Tcp建立三次握手连接,连接建立后,就向服务器发出HTTP请求。
浏览器会把以下请求发送到baidu所在的服务器:
  1. GET http://www.baidu.com/   HTTP/1.1
  2. Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...]
  3. User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...]
  4. Accept-Encoding: gzip, deflate
  5. Connection: Keep-Alive
  6. Host: facebook.com
  7. Cookie: datr=1265876274-[...]; locale=en_US; lsd=WW[...]; c_user=2101[...]
复制代码

GET这个请求定义了要读取的URL,浏览器自定义(User-Agent头)和它希望接受什么类型的相应(Accept and Accept-Encoding头)Connection头要求服务器为了后边的请求不要关闭TCP连接。


请求中也包含浏览器存储的该域名的cookies,在不同页面请求当中,cookie是与跟踪一个网站状态相匹配的键值。这样cookies会存储登录用户名,服务器分配的密码和一些用户设置等。Cookies会以文本文档形式存储在客户机里,每次请求时发送给服务器。


四、Web服务器应答,并向浏览器发送数据

客户机向服务器发出请求后,服务器会客户机回送应答,HTTP/1.1 200 OK应答的第一部分是协议的版本号和应答状态码,正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据

五、Web服务器关闭TCP连接

一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码Connection:keep-aliveTCP连接在发送后将仍然保持打开状态。

六、浏览器解析网页内容。

由于网页可能有重定向,或者嵌入了图片,AJAX,其它子网页等等,这4个步骤可能反复进行多次才能将最终页面展示给用户。

你可能感兴趣的:(网络基础)