JavaWeb--互联网通信与HTTP协议

一,互联网通信流程

涉及技术

  1. 控制浏览器行为技术--------html,css,JavaScript

  2. 控制硬盘上数据库行为技术:mysql,jdbc

  3. 互联网通信流程开发规则:MVC

互联网通信

定义:两台计算机通过网络而实现资源共享的行为

互联网通信角色的划分

​ 客户端计算机:用于来发送请求,来索要资源文件

​ 服务端计算机:用于接受请求,并提供相应的资源文件

互联网通信模型

C/S(client/server)通信模型

client:

  1. 客户端软件专门安装在客户端计算机上
  2. 帮助客户端计算机向服务端计算机发送请求,索要资源文件
  3. 帮助客户端计算机将服务端计算机发送回来【二进制数据】解析为【文字,数字,图片,视频】

server:

  1. 服务器软件专门安装在服务端计算机上

  2. 服务器软件用于接收特定客户端软件发送的请求

  3. 服务器软件在接收到请求之后自动的在服务端计算机上定位被访问的资源文件

  4. 服务器软件自动的将定位的文件内容解析为【二进制数据】通过网络发送回发起请求的客户端软件上

适用场景: C/s通信模型普遍用于个人娱乐市场,比如【微信,淘宝/京东,视频(优酷/B站】 ,企业办公领域相对应用较少

优缺点:
优点:
1.安全性较高(需要合法的客户端)
2.有效降低服务端计算机工作压力
缺点:
1.增加客户获得服务的成本
2.更新较为繁琐

B/S(client/server)通信模型

B:browser,浏览器

  1. 浏览器安装在客户端计算机软件
  2. 可以向任意服务器发送请求,索要资源文件
  3. 可以将服务器返回的[二进制数据]解析为[文字,数字,图片,视频,命令]

s: server software 服务器软件

  1. 服务器软件专门安装在服务端计算机上
  2. 可以接收任意浏览器发送请求.
  3. 自动的在服务端计算机上定位被访问的资源文件
  4. 自动的将定位的资源文件内容以二进制形式发送回发起请求浏览器上

适用场景:既适用于个人娱乐市场,广泛适用于企业日常活动I

优缺点:

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

共享资源文件

  1. 什么是共享资源文件:
    可以通过网络进行传输的文件,都被称为共享资源文件
    所有的文件内容都可以通过网络传输,所有文件都是共享资源文件

  2. Http服务器下对于共享资源文件分类
    1)静态资源文件
    2)动态资源文件

  3. 静态资源文件:

    1)如果文件内容是固定,这种文件可以被称为【静态资源文件】(文档,图片,视频)
    2)如果文件存放不是内容而是命令,这些命令只能在浏览器编译与执行这种文件可以被称为【静态资源文件】( .html, .css, .js)

  4. 动态资源文件:
    如果文件存放命令,并且命令不能在浏览器编译与执行;只能在服务端
    计算机编译执行,这样的文件可以被称为[动态资源文件] ( . class)

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

在这里插入图片描述

二,HTTP协议与Tomcat

2.1网络协议包

  1. 在网络中传递信息都是以[二进制]形式存在的。

  2. 接收方[浏览器/服务器]在接收信息后,要做第- - -件事就是将[二进制数据]进行编译[文字,图片,视频,命令]

  3. 传递信息数据量往往比较巨大,导致接收方很难在一组连续二进制得到对应数据
    比如浏览器发送一一个请求: http://192.168.100.2:8080/index.html
    这个请求信息以二进制形式发送01010101010110101010101101010
    Http服务器很难从二进制数据得到相关信息

  4. 网络协议包一组有规律二进制数据,在这组数据存在了固定空间每一个空间专门存放特定信息,这样接收方在接收网络协议包之后.就可以到固定空间得到对应信息,网络协议包出现极大降低了接收方对接收二进制数据编译难度
    [0000 (ip地址) 0000 (端口号) 0000 ( 资源文件名) 0000]

2.2 常见网络协议:

  1. FTP网络协议包

  2. Http网络协议包

2.3 Http网络协议包

在基于B/s结构下互联网通信过程中,所有在网络中传递信息都是保存在Http网络协议包
分类:
Http请求协议包
Http响应协议包

2.4 Http请求协议包与Http响应协议包介绍

  1. Http请求协议包:
    在浏览器准备发送请求时,负责创建一个Http请求协议包

    浏览器将请求信息以二进制形式保存在Http请求协议包各个空间

    由浏览器负责将Http请求协议包推送到指定服务端计算机

  2. Http响应协议包:
    Http服务器在定位到被访问的资源文件之后。负责创建一个Http响应协议包Http

    服务器将定位文件内容或则文件命令以二进制形式写入到Http响应协议包各个空间,

    由Http服务器负责将Http响应协议包推送回发起请求的浏览器上。

2.5 Http请求协议包内部空间: [背 ]

1.按照自上而下划分,分为4个空间

2.空间划分:
请求行: [
ur1:请求地址(http://192 .168.100.2 :8080/index . html)
method:请求方式( POST/GET)
请求头: [
请求参数信息[GET]
]
空白行: [
没有任何内容,起到隔离作用
]
请求体:[
请求参数信息[POST]

]

2.6 Http响应协议包内部空间: [背 ]

1.按照自上而下划分,分为4个空间
2.空间划分:
状态行: [
Http状态码
]
响应头: [
content-type:指定浏览器采用对应编译器
对响应体二进制数据进行解析
]
空白行: [
没有任何内容,起到隔离作用
]
响应体:[
可能被访问静态资源文件内容.
可能被访问的静态资源文件命令
可能被访问的动态资源文件运行结果
【都是以二进制形式】
]

2.7 Http服务器

.Http服务器是服务器中一种,其行为与的ttp协议相关

Http服务器可以接收来自于浏览器发送的Http请求协议包,并自动对Http请求协议包内容进行解析

解析后,自动定位被访问的文件。并将定位的文件内容写入到Http响应协议包中心

最后,负责将Http响应协议包推送回发起请求的浏览器上。

服务器分类

■JBOSS服务器
JBOSS服务器是由JBOSS 公司研发的基于J2EE的开放源代码的应用服务器。可以
在任何商业应用中免费使用。支持EJB 1.1、EB 2.0 和EB3的规范。但JBoss核心服务不包
括支持servlet/JSP的WEB容器,-般与Tomcat或Jetty绑定使用。小
■Glassfish服务器
Glassfish服务器是SUN开发一个免费,开源的基于Java EE应用服务器。是SUN公司在
未来互联网通信应用领域中的重要服务器,具有轻便的Web容器的所有优点,它和Tomcat -样是优秀的
SerMlet容器。GlassFish 在静态文件传输方面的性能比Tomcat要强得多。未来很有可能代替tomcat服务
器+
■Jetty服务器
Jetty服务器是一个由Java技术开发的Http 服务器。主要应用于公有云分布式环
境中。与Tomcat比较更加节省资源,更加灵活。未来很有可能代替tomcat服务器+

■Weblogic服务器
Weblogic是美国Oracle公司出品的一-个使用Java技术开发Http服务器,主要应
用于大型分布式Web应用。是Oracle的主要产品之一。但运行时需要消耗计算机的大里资源,不适合安
装在个人电脑上。
■Websphere服务器
WebSphere是γBM的公司研发的-个HTTP服务器。目前主要应用于电子商务
应用领域。WebSphere 可以创建电子商务站点,把应用扩展到 联合的移动设备,整合已
有的应用并提供自动业务流程。主要安装在LINUX系统中,不适合安装在windows系统上。
■Tomcat服务器

tbmcat是Apache软件基金会中的一个核心项目,由Java技术开发而成。由Apache、Sun
共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到完美
体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了绝大部分软
件开发商的认可,成为目前最流行的Htp服务器。属于轻量级应用服务器,在中小型系统和并发访问用户
不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一-个初学者来说,可以这样认为,当
在一台机器上配置好Apache服务器,可利用它响应HTML(标准通用标记语言下的一个应用页而的访问
请求。从而可以在自己的计算机上模拟基于B/S结构的互联网通信流程。。

2.8 Tomcat服务器

使用过程

  1. 下载安装,解压
  2. 环境变量_Home 或 JRE(安装java时已经配置,此处可以不配置)
  3. 启动Tomcat Tomcat安装位置/bin
    启动命令: startup.bat
    关闭命令: shutdown.bat

Tomcat服务器内部文件结构

  1. bin: Tomcat 管理命令。

  2. conf: Tomcat配置文件。

  3. lib: Tomcat 使用的jar

  4. log:日志信息

  5. temp:临时文件

  6. webapps:默认资源文件位置

  7. work:工作空间

模拟一次互联网通信

1.在Tomcat安装地址/webapps文件夹,创建一个网站[ myWeb]
2.将一个静态资源文件添加到网站[car.jpg]
3.启动tomcat
4.启动浏览器,命令浏览器向tomcat 索要carjpge
URL格式:网络协议包://服务端计算机IP地址:ttp服务器端口号/网站名资源文件
名称http://localhost:8080/myWeb/car.jpg

2.9 在IDEA管理Tomcat

IDEA配置Tomcat

添加服务器:

准备服务器开关:

IDEA创建Tomcat

  1. 创建勾选Web Application项目
  2. 网站的内部结构
    _sre:文件夹:存放作为动态资源文件的Java文件
  3. _web文件夹:存放作为静态资源文件【图片,html, css, js】
    WFB-INF :依赖的jar[mysq1驱动1/核心胤置文件(web. xm1)
    _1ib文件夹:依赖的jar [mysq1驱动]
    _web. xml:通知Tomcat 当前网站那些java类是动态资源文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值