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

当我们打开浏览器,在浏览器的地址栏中输入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. PHP 调用C的代码
  2. 【算法+图像处理】2D卷积与快速卷积算法C语言实现
  3. LOJ#6048. 「雅礼集训 2017 Day10」数列(线段树)
  4. Pycharm 2018 虚拟环境创建及解释器的设置(小白图解教程)
  5. 面试必会系列 - 1.5 Java 锁机制
  6. linux p7zip密码,linux下7zip使用方法
  7. openwrt添加模块时编译报No rule to make target `install'
  8. css_selector定位总结
  9. CSS修改iframe内的样式问题
  10. Java ArrayList 数组之间相互转换
  11. (7)Spring框架----面向切面编程(一个简单的约定游戏)
  12. 谭老师c语言入门 小甲鱼,《零基础入门学习C语言》视频教程(小甲鱼主讲全套共65节)...
  13. 硕士论文latex参考文献格式经验
  14. C#从sqlite3中读数据到DataTable中报错 :System.Data.ConstraintException:“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
  15. Ada2012即将完成
  16. 最爽摸鱼听音乐——使用VS Code解锁网易云灰色歌曲(VSC Netease Music+UnblockNeteaseMusic)
  17. [图]WPS Office 2019上架微软商城:引入全新用户界面
  18. 57个机器人流程自动化应用场景:RPA深入指南[2019更新]
  19. linux ubuntu 命令行高亮
  20. 何宾 单片机原理及应用_STC单片机原理及应用(第2版)

热门文章

  1. python行转列_Python实现行转列?!超简单,赶快get起来
  2. uc-osII系统移植
  3. 史上最全树莓派安装方法
  4. 【ffmpeg】ffmpeg推送流到rtsp服务器
  5. 对以下学员随机排序,生成一个新数组:var arr = [“鹿晗“,“王俊凯“,“蔡徐坤“,“彭于晏“,“周杰伦“,“刘德华“,“赵本山“]
  6. 如何获取图片的倒映及剪切、放缩图片?
  7. OSChina 周一乱弹 ——妹子知道去哪儿找男友了么
  8. 51nod 1571 最近等对 CQD分治
  9. vue里dom节点和window对象
  10. RNA结构预测竞赛圆满落幕,且看前三名团队飞桨论道(下篇)