一个数据包在浏览器与服务器之间的传输(java)

我们可以使用富有想象力的大脑想象一下一个数据包在万维网上的传播
我们示范一下
在地址栏输入淘宝的URL,这时候浏览器会向淘宝的Http服务器发送一个Http请求包
在这里插入图片描述
那么这个Http请求包内容是什么样子的呢,请看下图
在这里插入图片描述
这时候服务器收到浏览器发来的请求包,服务器解析这个请求包,看看都请求了什么文件
1)如果请求了静态资源文件,就这样
在这里插入图片描述
2)如果请求了动态资源文件,就这样
在这里插入图片描述
3)如果又访问了数据库的话,就这样
在这里插入图片描述
最后这些动态资源(.class)静态资源(文字,图片,html,css)都会变成Htttp相应包的形式送回发起请求的浏览器,然后这个响应包是什么样子的,是下图这个样子的
在这里插入图片描述
好了,请求响应什么都完毕了,浏览器就正常显示页面了

我上面说的整体是一个B/S通信模型:
1.B/S通信模型
B:browser,浏览器
1)浏览器安装在客户端计算机软件
2)可以向任意服务器发送请求,索要资源文件
3)可以将服务器返回的[二进制数据]解析为[文字,图片,视频,命令]
S:server,服务器
1)服务器软件专门安装在服务器端计算机上
2)可以接收任意浏览器发送请求
3)自动的在服务器端计算机定位被访问的资源文件
4) 自动的将定位的资源文件内容以二进制的形式发回发起请求浏览器上

2.优缺点:
优点:
1)几乎不会增加用户获得服务的成本
2)几乎不需要更新浏览器
缺点:
1)几乎无法有效对服务器端计算机资源文件进行保护
2)服务器端计算机工作压力异常巨大-------[B/S通信下高并发解决方案]

我上面还说了一个Http服务器,一个接收数据包和发送数据包的东西
1.介绍
1)Http服务器也是服务器的一种,其行为与Http协议有关
2)Http服务器可以接收来自于浏览器发送的Http请求协议包,并自动对Http请求协议包内容进行解析
3)解析后,自动定位被访问的文件,并将定位的文件内容写入到Http响应文件包中
4)最后,负责将Http响应协议包推送回发起请求的浏览器上

2.静态资源文件与动态资源文件
静态资源文件
1)如果文件内容固定,这种文件可以被称为静态资源文件(文字,图片,视频)
2)如果这些文存放的不是内容而是命令,这些命令只能在浏览器编译与执行这种文件可以被称为静态资源文件(.html,.css,.js)
动态资源文件
如果文件存放命令,并且命令不能在浏览器中执行;只能在服务器端计算机编译执行,这样的文件可以被称为动态资源文件(.class)

3.静态资源文件与动态资源文件调用区别
1)静态文件被索要时,Http服务器直接通过输出流将静态文件中内容或命令以二进制文件推送给发起请求浏览器
在这里插入图片描述
2)动态文件被索要时,Http服务器需要创建当前class文件的实例对象,通过实例对象调用对应的方法处理用户请求,通过输出流将运行结果以二进制形式推送给发起请求浏览器
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值