浏览器向服务器请求页面的原理
2011-08-24 21:18
211 查看
我们经常用浏览器上网,但是大家想过没有在浏览器和服务器之间是怎么交互的吗?接下给大家说说web页面请求的原理(高手直接跳过)。
首先我们不要把服务器想的太神圣了,其实他也就是一台 没有显示器的电脑,处理速度比普通电脑快罢了。
服务器端安装的IIS软件,在客户端是浏览器;
客户端:
当我们在浏览器输入网址并回车后,如果你是第一次访问这个网址例如www.itcast.cn,你的浏览器并不知道这个网站的IP,所以第一次请求时发向DNS服务器,DNS服务器查询到该网址对应的IP后,再给你发回,然后浏览器根据IP地址向www.itcast.cn对应的web服务器发送请求。
服务器端:
首先在服务器端有一个监听请求的东东,那是什么呢?是Socket,负责监听请求的Sockets发现有请求到达,他会根据socket.Accept()立即创建一个socket负责与发送请求的 浏览器进行通信(浏览器本来就是用socket与服务器通信的,因此浏览也就是一个socket),因为监听请求的的socket占用一个线程,因此我们也创建另一个线程专门处理客户端浏览器的请求。
接下来分析请求的页面的路径和页面的类型:如果发现请求的是静态页面,我么直接读取静态页面页面,并生成响应报文头(text/html),通过socket发回给浏览器;如果请求的是图片的话,生成响应报文头(image/jpeg),和图片内容一起发回给客户端,想css,js之类的都是基本一样的处理方式;
如果发送来的请求是动态页面,那服务器该怎么处理请求呢(IIS没有直接处理动态页面的能力),其实IIS是通过可扩展插件来处理的,例如asp.net做的动态页面是通过 netframework来处理的 ,其他的暂时不理会(偶不会啊)!当页面处理完毕后,将处理完的结果交给socket,由socket 发回给浏览器。
如果客户端请求的页面在服务器端不存在,服务器给客户端发回的响应报文中提示有错误信息404,还有其他一些错误信息代码,在这里就不再多说了!
首先我们不要把服务器想的太神圣了,其实他也就是一台 没有显示器的电脑,处理速度比普通电脑快罢了。
服务器端安装的IIS软件,在客户端是浏览器;
客户端:
当我们在浏览器输入网址并回车后,如果你是第一次访问这个网址例如www.itcast.cn,你的浏览器并不知道这个网站的IP,所以第一次请求时发向DNS服务器,DNS服务器查询到该网址对应的IP后,再给你发回,然后浏览器根据IP地址向www.itcast.cn对应的web服务器发送请求。
服务器端:
首先在服务器端有一个监听请求的东东,那是什么呢?是Socket,负责监听请求的Sockets发现有请求到达,他会根据socket.Accept()立即创建一个socket负责与发送请求的 浏览器进行通信(浏览器本来就是用socket与服务器通信的,因此浏览也就是一个socket),因为监听请求的的socket占用一个线程,因此我们也创建另一个线程专门处理客户端浏览器的请求。
接下来分析请求的页面的路径和页面的类型:如果发现请求的是静态页面,我么直接读取静态页面页面,并生成响应报文头(text/html),通过socket发回给浏览器;如果请求的是图片的话,生成响应报文头(image/jpeg),和图片内容一起发回给客户端,想css,js之类的都是基本一样的处理方式;
如果发送来的请求是动态页面,那服务器该怎么处理请求呢(IIS没有直接处理动态页面的能力),其实IIS是通过可扩展插件来处理的,例如asp.net做的动态页面是通过 netframework来处理的 ,其他的暂时不理会(偶不会啊)!当页面处理完毕后,将处理完的结果交给socket,由socket 发回给浏览器。
如果客户端请求的页面在服务器端不存在,服务器给客户端发回的响应报文中提示有错误信息404,还有其他一些错误信息代码,在这里就不再多说了!
相关文章推荐
- 浏览器向服务器请求页面的原理
- 浏览器向服务器请求页面的原理
- 浏览器刷新页面后向服务器发出两次请求的问题
- WebForm总结_Day04_浏览器请求和服务器响应的内部原理
- 浏览器与服务器的交互原理解析(五)-------使用axios进行异步请求
- 浏览器刷新页面后向服务器发出两次请求的问题
- 浏览器与服务器的交互原理解析(四)-------使用vue-resource进行异步请求
- 浏览器与服务器的交互原理解析(三)-------使用Ajax进行异步请求
- 浏览器刷新页面后向服务器发出两次请求的问题
- 浏览器构造页面的原理
- HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
- 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
- asp.net 行删除原理(浏览器端请求,服务器端响应)
- 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
- 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
- Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面 IIS 7.0
- 分页查询产品信息案例;第一步:创建产品页面,向服务器发送请求(获取所有产品信息)
- java实现的利用HTTP协议原理实现的GET/POST请求的web服务器
- 浏览器对于服务器favico.ico的请求问题
- 服务器定时执行计划任务(通过浏览器请求某个链接)