来源于孤傲苍狼博客内容
浏览器与服务器交互图

当我们打开浏览器,在浏览器的地址栏中输入URL地址"http://www.gacl.cn:8080/JavaWebDemo1/1.jsp"去访问服务器上的1.jsp这个web资源的过程中,浏览器和服务器都做了神马操作呢,我们是怎么在浏览器里面看到1.jsp这个web资源里面的内容的呢?

浏览器和服务器做了以下几个操作:

1、浏览器根据主机名"www.gacl.cn"去操作系统的Hosts文件中查找主机名对应的IP地址。

2、浏览器如果在操作系统的Hosts文件中没有找到对应的IP地址,就去互联网上的DNS服务器上查找"www.gacl.cn"这台主机对应的IP地址。

3、浏览器查找到"www.gacl.cn"这台主机对应的IP地址后,就使用IP地址连接到Web服务器。

4、浏览器连接到web服务器后,就使用http协议向服务器发送请求,发送请求的过程中,浏览器会向Web服务器以Stream(流)的形式传输数据,告诉Web服务器要访问服务器里面的哪个Web应用下的Web资源,如下图所示:

这就是浏览器向Web服务器发请求时向服务器传输的数据,解释一下"GET /JavaWebDemo1/1.jsp HTTP/1.1"这里面的内容,

GET:告诉Web服务器,浏览器是以GET的方式向服务器发请求。

/JavaWebDemo1/1.jsp:告诉Web服务器,浏览器要访问JavaWebDemo1应用里面的1.jsp这个Web资源。

HTTP/1.1:告诉Web服务器,浏览器是以HTTP协议请求的,使用的是1.1的版本。

5、浏览器做完上面4步工作后,就开始等待,等待Web服务器把自己想要访问的1.jsp这个Web资源传输给它。

6、服务器接收到浏览器传输的数据后,开始解析接收到的数据,服务器解析"GET /JavaWebDemo1/1.jsp HTTP/1.1"里面的内容时知道客户端浏览器要访问的是JavaWebDemo1应用里面的1.jsp这个Web资源,然后服务器就去读取1.jsp这个Web资源里面的内容,将读到的内容再以Stream(流)的形式传输给浏览器,如下图所示:

这个就是Web服务器传输给浏览器的数据。

7、浏览器拿到服务器传输给它的数据之后,就可以把数据展现给用户看了,如下图所示:

看到的这个"JavaWebDemo1"就是浏览器解析服务器发送回来的数据后的效果

服务器发送回来的数据:

 HTTP/1.1 200 OKServer: Apache-Coyote/1.1Content-Type: text/html;charset=ISO-8859-1Content-Length: 102Date: Mon, 19 May 2014 14:25:14 GMT<html><head><title>JavaWebDemo1</title></head><body>JavaWebDemo1</body>
</html>

这就是浏览器和服务器的交互过程。

浏览器与服务器交互的过程相关推荐

  1. 浏览器同部署了https的服务器交互的过程

    1 浏览器发起https请求 2 https服务器发送自己的公钥给浏览器 3 浏览器用https服务器发送过来的公钥加密一个用于双方通信的的对称密码 4 https服务器用自己的私钥解密,获取对称密码 ...

  2. 浏览器和服务器交互原理?(请求--响应的过程)

    浏览器通过socket打开连接请求 到服务器,服务器有一个监听 socket 然后生成负责通信的socket 与浏览器通信, 浏览器在通过这个通信socket 将请求报文发送给 服务器 服务器负责解析 ...

  3. 【ASP.net】浏览器和服务器的交互

    引言 从CS(Client/Server)学习到BS(Browser/Server)学习,web让客户端化身为最为方便使用的--浏览器,交互性也成为了BS的一大特点. 有关web程序的开发周期介绍,w ...

  4. app 与服务器交互 token

    1.产生原因 app 应用需要访问服务器,此过程中涉及到身份认证和权限控制的问题,如何搭建 app 和服务器之间信任的桥梁? 我们都知道,session.cookie 是作为浏览器里面的用户和服务器之 ...

  5. ie浏览器能显示ftp协议的图片_浏览器向服务器请求一张图片,到底发生了什么?...

    文章目录 动因 HTTPWATCH 用IE访问服务器端的一张png图片 观察数据 结论 本文说明了http协议传输图片的交互数据的过程和测试方法. 动因 学习编程,其实不在于编程本身.千万不要满足于会 ...

  6. java cookie能存到服务器_Cookie技术用于将会话过程中的数据保存到( )中,从而使浏览器和服务器可以更好地进行数据交互。(5.0分)_学小易找答案...

    [单选题]下列选项中,用于对超链接和form表单中的action属性中设置的URL进行重写的方法是(5.0分) [判断题]安装好Tomcat后,就可以直接启动运行了,并不要先安装JDK.(5.0分) ...

  7. 浏览器和服务器的交互过程

    浏览器和服务器做了以下几个操作: 1.浏览器根据主机名"www.baidu.com"去操作系统的Hosts文件中查找主机名对应的IP地址. 2.浏览器如果在操作系统的Hosts文件 ...

  8. 客户端与服务器交互的功能,如何进行测试?

    测试客户端与服务器交互的功能,如何进行测试,需要考虑哪些内容呢?下面我们分阶段来说明一下~ 测试沟通阶段 需要跟客户端和服务器端开发沟通,确定客户端发送请求的样式,需要包含哪些参数值,参数值具体有什么 ...

  9. 浏览器,服务器,浏览器和服务器之间的通信协议

    1,world wide web 我们通常所说的web就是指world wide web.一般来讲,这一种通过浏览器来访问资源的技术.我们经常说的上网,应该大部都是指的是上万维网(web),但是我们经 ...

最新文章

  1. MATLAB寻址访问按什么优先,matlab笔记
  2. 通俗易懂!《图机器学习导论》(附链接)
  3. Android存储数据到本地文件
  4. SAP APF modeler过滤器的设计原理
  5. 揭开.NET 2.0配置之谜(一)
  6. 根据实例类型反射操作数据库(简单通用表操作类)
  7. linux系列之-—01 shell编程笔记
  8. 添加、移除事件及相关处理函数各方法
  9. windows下重设mysql的root密码
  10. 【python与数据分析】Python与数据分析概述
  11. [移动GIS] 1-移动计算与无线网络
  12. android 短信 易用性总结,详解短信验证和邮件验证的区别
  13. Ubuntu 18.04 网口创建网络共享
  14. ABAP 身份证校验的函数
  15. 病例演讲比赛PPT模板
  16. OpenCV计算图像像素最大值、最小值
  17. Unity-Graphic绘制菱形Rhombus
  18. Cmd模式下的入侵技术大全
  19. Linux磁盘分区初始化
  20. 【USB】macOS usb内核驱动开发入门

热门文章

  1. 扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码
  2. KINGBASE V7 行转列
  3. oracle 存储过程插入数据不成功
  4. 分享:Flex倒映效果组件
  5. SimpleFOC(九)—— 霍尔电机控制
  6. 微信小程序搜索框自动补全功能
  7. 智慧商业,连锁革命 | 10月13日TF77
  8. 让两个DIV在同一行
  9. #2015年盘点第一弹#八大事件复盘O2O棋局
  10. 对足球轨迹进行计算机仿真,基于数据挖掘的足球最优射门角度分析