天天看点

Java web基础Web通信网络协议数据包Http服务器资源管理软件:【http服务器】

文章目录

  • Web通信
    • 资源文件分类
    • Web通信过程中的交流方式:
      • C/S 架构
      • B/S 架构
    • Web通信过程中的商业问题
  • 网络协议数据包
    • Http网络协议包内部结构
    • 如何通知浏览器在发送请求时携带【请求参数】
  • Http服务器资源管理软件:【http服务器】
    • Http服务器分类:
    • Tomcat
      • Tomcat配置需要配置的环境变量
      • Tomcat启动与关闭文件
      • 配置

在学习Java Web相关技术时,最好能够对一些以下知识点有所了解,例如:

C/S结构 vs B/S 结构

HTTP

HTML

CSS

JavaScript

以下简单介绍Java web的相关知识点:

Web通信

两个计算机通过网络进行【资源文件】共享的行为

资源文件分类

  1. 静态资源文件

    比如:图片,html,电影,音乐

    如果远程用户申请的【静态资源文件】,此时服务端计算机将【静态资源文件】直接返回给客户端计算机

  2. 动态资源文件

    一段应用程序,比如一个java文件。

    如果远程用户申请【动态资源文件】,此时在服务器端计算机上运行当前程序,然后将运行结果推送到客户端计算机上。(例子:不同的输入,返回不同的结果)

Web通信过程中的交流方式:

C/S 架构

C: Client 客户端软件 S: 服务端软件(服务端计算机资源调用软件)

要求计算机必须安装指定【客户端软件】才可以与服务端进行通信(QQ, 微信,快播)

优点:

  • 减轻服务端工作压力
  • 具有较高的安全性:

缺点:

  • 增加用户使用成本:比如一般的计算机不一定带的动;
  • 增加用户使用难度
  • 商业推广的成本较大
  • 维护成本较大

B/S 架构

B: Browser 浏览器 S: 服务端计算机(服务端计算机资源调用软件)

客户端计算通过【浏览器】向服务器端计算机发送申请的通信

缺点:

  • 无法降低服务端的压力。
  • 缺乏安全保护措施:一般认为web网站经不起攻击

优点:-------便宜

  • 客户使用成本低廉:配置要求低
  • 客户使用难度也非常低
  • 推广的费用非常低

Web通信过程中的商业问题

无法预测用户发送请求时间

网络协议数据包

在Web通信过程中,所有在网络中传递的数据都是包裹在网络协议包。在网络协议包中存在若干个固定空间,在每一个空间中存放的都是特定的数据。方便服务端和客户端在接收到数据之后的编译。【B/S】 只使用HTTP网络协议包【无状态协议包】

Http网络协议包内部结构

  1. 请求行为:客户端发送的请求数据 --> 【请求协议包】

    内部空间:

    1.【请求行】:1) 本次请求网站地址 2) 请求方式 get/post

  2. 【请求头】:可以通过浏览器查看。总体来说,存放的是我们期望服务器端返回的资源类型(期望返回的文件类型、期望放回的文件中字符集、当前发送请求的浏览器类型、cookie,如果浏览器本次发送的是【get】,此时请求参数也是放在请求头)
  3. 【空白行】:分隔 作用
  4. 【请求体】:如果浏览器采用的是post方式,请求参数只能存在请求体中;如果是get方式,则请求体没有内容,在请求头中;
  5. 响应行为:服务端将数据推送到客户端浏览器 --> 【响应协议包】

    内部空间:

  6. 【状态行】:服务端产生的【http状态码】,用来描述服务端对于本次通信的评价

    2.【响应头】:服务端推送的文件类型以及文件使用的字符集、服务端推送的Cookie

    3.【空白行】:分隔

    4.【响应体】:要么是服务端推送的静态资源图片、要么是服务端的应用程序的运行结果

如何通知浏览器在发送请求时携带【请求参数】

  1. 通过超链接要求浏览器发送请求时携带请求参数 -> 【get】方法

    标签

  2. 通过浏览器的地址栏要求浏览器发送请求时携带请求参数 -.>【get】方法

    js脚本,window.location = “”

  3. form表单通知浏览器发送请求时携带请求参数 -> 【get/post】方法

    submit按钮被单击时,负责【唤醒浏览器】,浏览器通过【form标签action属性】了解本次请求服务端地址,浏览器通过【form标签method属性】了解本次请求的方式,将当前form标签内部所有声明了“name”属性的“表单域标签”作为请求参数(name:请求参数名 value:请求参数内容)

Http服务器资源管理软件:【http服务器】

  1. 24小时不间断工作
  2. 接受并解析来自客户端发送【请求http协议包】,了解用户请求的资源文件
  3. 自动定位服务端中与本次请求关联的【资源文件】
  4. 可以将被访问的资源文件写入到【响应http协议包】,

    并把这个协议包推送到客户端的浏览器上

B/S结构中,服务端可以实现【无人值守】

Http服务器分类:

  1. 目前国内开发时,使用主流Http服务器Apache Tomcat,(一次最多接受2000个访问请求)
  2. IBM提供Weblogic,(收费,抗压性更强些,一次请求可以上万次)
  3. JBoss
  4. RESIN

Tomcat

Tomcat配置需要配置的环境变量

  1. JAVA_HOME: JDK安装路径 例如:C:\Program Files (x86)\Java\jdk1.8.0_131
  2. JRE_HOME: JRE 安装路径 例如:C:\Program Files (x86)\Java\jdk1.8.0_131\jre

    **以上两个环境变量,只需要配置一个就可以

    部分windows系统还需要配置 CATALINA_HOME = Tomcat安装路径

Tomcat启动与关闭文件

startup.bat 启动Tomcat

shutdown.bat 关闭Tomcat

注意:

可以在Tomcat安装路径的地址栏输入cmd, 然后按回车键,就是到当前路径下执行cmd命令,

可以输入startup,或者shutdown 来启停Tomcat,用完后一定要记得shutdown, 不然下次就会出现8080端口被占用的情况;

通过浏览器向服务端的Tomcat索要资源文件:

http://localhost:8080

配置

在Tomcat的安装目录下的webapps目录下,可以自己创建网站,就是创建一个文件夹,名字必须是英文的,比如myWeb。

注意,如果是把资源放在WEB-INF文件下,是禁止从浏览器直接访问的;是不被共享的;