浏览器向服务器请求页面的原理
来源:互联网 发布:大庄家期货软件 编辑:程序博客网 时间:2024/05/16 06:45
我们经常用浏览器上网,但是大家想过没有在浏览器和服务器之间是怎么交互的吗?接下给大家说说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,还有其他一些错误信息代码,在这里就不再多说了!
- 浏览器向服务器请求页面的原理
- 浏览器向服务器请求页面的原理
- 浏览器刷新页面后向服务器发出两次请求的问题
- 客户端浏览器向服务器发起http请求的全过程
- 浏览器向服务器发送请求报文
- 浏览器如何向服务器发出请求
- tcp模拟浏览器向 Tomcat服务器发送请求
- c# 模拟Asp.net页面中的某个按钮的点击,向web服务器发出请求
- c# 模拟Asp.net页面中的某个按钮的点击,向web服务器发出请求
- AJAX--向服务器请求额外的数据时,无需卸载(刷新)页面。
- uploadify初始化时自动会向服务器请求一次请求的地址是当前jsp页面所在的地址
- 浏览器渲染页面的原理
- 向页面发送http请求获取服务器时间
- 关于浏览器向服务端(自己写的个tomcat小服务器程序,仅供测试)发送请求的具体内容
- javaScript向服务器请求
- javaScript 向服务器请求
- 向服务器发送请求
- Request对象 --web浏览器向web服务端的请求
- eclipse中设置环境变量的方法
- poj 1269 Intersecting Lines
- 云数据库带来多样云 领跑云服务
- webx+maven+svn 总结
- poj 3304 Segments
- 浏览器向服务器请求页面的原理
- 17.c++-谁分配谁释放HEAP
- poj 2398 Toy Storage
- POJ 百练 2973: Skew数
- JAVA网址大全
- Java线程的简单使用
- 关于RAID10和RAID5的认识
- poj 2318 TOYS
- SQL Server数据库服务器负载均衡集群的实现