一、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所在的服务器:
复制代码
四、Web服务器应答,并向浏览器发送数据
客户机向服务器发出请求后,服务器会客户机回送应答,HTTP/1.1 200 OK应答的第一部分是协议的版本号和应答状态码,正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据
五、Web服务器关闭TCP连接
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所在的服务器:
- GET http://www.baidu.com/ HTTP/1.1
- Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...]
- User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...]
- Accept-Encoding: gzip, deflate
- Connection: Keep-Alive
- Host: facebook.com
- Cookie: datr=1265876274-[...]; locale=en_US; lsd=WW[...]; c_user=2101[...]
GET这个请求定义了要读取的URL,浏览器自定义(User-Agent头)和它希望接受什么类型的相应(Accept and Accept-Encoding头)Connection头要求服务器为了后边的请求不要关闭TCP连接。
四、Web服务器应答,并向浏览器发送数据
客户机向服务器发出请求后,服务器会客户机回送应答,HTTP/1.1 200 OK应答的第一部分是协议的版本号和应答状态码,正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据
五、Web服务器关闭TCP连接
一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码Connection:keep-aliveTCP连接在发送后将仍然保持打开状态。
六、浏览器解析网页内容。
由于网页可能有重定向,或者嵌入了图片,AJAX,其它子网页等等,这4个步骤可能反复进行多次才能将最终页面展示给用户。