网络通信流程
什么是互联网通信
两台计算机通过网络实现文件共享行为,就是【互联网通信】
互联网通信过程角色划分
1.客户端计算机:用于发送请求,来索要资源文件的计算机
2.服务端计算机:用于接收请求,并提供对应的资源文件计算机
互联网通信模型
1.C/S通信模型:
优点: 1.安全性较高
2.有效降低服务端计算机工作压力
缺点: 1.增加客户获得服务的成本
2.更新较为繁琐
2.B/S通信模型:
优点: 1.不会增加用户获得服务的成本
2.几乎不需要更新浏览器
缺点:
1.几乎无法有效对服务端计算机资源文件进行保护
2.服务端计算机工作压力异常巨大-----》【B/S通信下高并发解决方案】
共享资源文件:
1.什么是共享资源文件:
可以通过网络进行传输的文件,都被称为共享资源文件
所有的文件内容都可以通过网络传输,所有文件都是共享资源文件
2.Http服务器下对于共享资源文件分类
1)静态资源文件
2)动态资源文件
3.静态资源文件:
- 如果文件内容是固定,这种文件可以被称为【静态资源文件】(文档,图片,视频)
- 如果文件存放不是内容而是命令,这些命令只能在浏览器编译与执行这种文件可以被称为【静态资源文件】(.html,.css,.js)
4.动态资源文件:
如果文件存放命令,并且命令不能在浏览器编译与执行;只能在服务端计算机编译执行,这样的文件可以被称为【动态资源文件】(.class)
5.静态资源文件与动态资源文件调用区别
静态文件被索要时,Http服务器直接通过【输出流】将静态文件中内容或者 以【二进制形式】推送给发起请求浏览器
动态文件被索要时,Http服务器需要创建当前class文件的实例对象,通过实例对象调用对应的方法处理用户请求,通过【输出流】将运行结果以【二进制形式】推送 给发起请求浏览器
网络协议包
1.在网络中传递信息都是以【二进制】形式存在的。
2.接收方【浏览器/服务器】在接收信息后,要做第一件事
就是将【二进制数据】进行编译【文字,图片,视频,命令】
3.传递信息数据量往往比较巨大,导致接收方很难在一组连续
二进制得到对应数据
比如 浏览器发送一个请求: http://192.168.100.2:8080/index.html
这个请求信息以二进制形式发送 01010101010110101010101101010
Http服务器很难从二进制数据得到相关信息
4.网络协议包一组有规律二进制数据,在这组数据存在了固定空间
每一个空间专门存放特定信息,这样接收方在接收网络协议包之后
就可以到固定空间得到对应信息,网络协议包出现极大降低了
接收方对接收二进制数据编译难度
【0000(ip地址)0000(端口号)0000(资源文件名)0000】
常见网络协议:
1.FTP网络协议包
2.Http网络协议包
Http网络协议包:
在基于B/S结构下互联网通信过程中,所有在网络中传递信息都是保存在Http网络协议包
分类:
Http请求协议包
Http响应协议包
Http请求协议包与Http响应协议包:
1.Http请求协议包:
在浏览器准备发送请求时,负责创建一个Http请求协议包浏览器将请求信息以二进制形式保存在Http请求协议包各个空间。由浏览器负责将Http请求协议包推送到指定服务端计算机
2.Http响应协议包:
Http服务器在定位到被访问的资源文件之后。负责创建一个Http响应协议包 Http服务器将定位文件内容或则文件命令以二进制形式写入到Http响应协议包各个空间由Http服务器负责将Http响应协议包推送回发起请求的浏览器上。
Http请求协议包内部空间
空间划分:
请求行:[
url:请求地址(http://192.168.100.2:8080/index.html)
method:请求方式(POST/GET)
]
请求头:[
请求参数信息【GET】
]
//下面两个f12network里看不见
空白行:[
没有任何内容,起到隔离作用
]
请求体:[
请求参数信息【POST】
]
Http响应协议包内部结构
空间划分:
状态行:[
Http状态码
]
响应头:[
content-type: 指定浏览器采用对应编译器
对响应体二进制数据进行解析
]
空白行:[
没有任何内容,起到隔离作用
]
响应体:[
可能被访问静态资源文件内容
可能被访问的静态资源文件命令
可能被访问的动态资源文件运行结果
*****都是以二进制形式***
]
HTTP服务器之Tomcat
启动tomcat服务器
cmd进入D:\java攻城狮\JavaWeb\apache-tomcat-9.0.30\bin这个路径
(可以在地址栏直接输入cmd就进去了)
startup启动
shutdown关闭
模拟互联网通信
在D:\java攻城狮\JavaWeb\apache-tomcat-9.0.30\webapps
路径下,新建一个文件夹,名字为英文,放进去静态文件
启动浏览器,命令浏览器向tomcat服务器索要这个静态文件
url格式 :网络协议包/服务端计算机IP地址:Http服务端口号/网站名字/资源文件名称
http://localhost:8080/myWeb/xx.png
8080对应的就是tomcat服务器
IDEA配置tomcat
File -->Settings -->Build, Execution, Deployment–> Application Servers
加号(各种各样的Http服务器),选择tomcat,放tomcat选择路径
建立启动开关。RUN下面edit Configurations,加号,选择tomcat
建立模块后,有两个包src和web,src存放动态资源文件,web存放静态资源文件,WEB-INF放jar包(要自己新建一个lib文件夹),和配置文件
发布网站(将写的网站交给tomcat管理)
run-edit Configurations–Deployment–下面是给网站起个英文名(必须是/开头)
启动tomcat就可以了在地址栏输入像访问的东西