1. 基本概念
1.1 前言1.2 web应用程序1.3 静态web1.4 动态web 2. Web服务器
2.1 技术讲解
ASP:PHP: 2.2 Web服务器
Tomcat 3.Tomcat
3.1安装Tomcat3.2Tomcat启动和配置
文件夹作用启动/关闭Tomcat 3.3配置
网站访问流程 4.HTTP协议
4.1. 什么是HTTP4.2. 两个时代4.3. HTTP请求4.4. HTTP响应
1. 基本概念 1.1 前言静态web动态web
在Java中,动态web资源开发的技术统称为Java Web。
1.2 web应用程序web应用程序:可以提供浏览器访问的程序。
HTML文件等web资源URL:统一资源定位符一个web应用由多部分组成(静态web,动态web)
HTML, CSS, jsjsp, Servletjava程序jar包配置文件(Properties)
web应用编写完成后,需要服务器进行管理,提供给外接访问。
1.3 静态web*.htm,*.html 都是网页的后缀
静态web存在的缺点
web页面无法动态更新
轮播图,点击特效,伪动态Javascript 无法和数据库交互(数据无法持久化,用户无法交互) 1.4 动态web
页面动态展示,效果因人而异
动态web存在的缺点:
如果动态web资源出现了错误,需要重写编写后台程序,重新发布;
优点:
页面可以动态更新可以与数据库交互 2. Web服务器 2.1 技术讲解 ASP:
微软:国内最早流行在HTML中嵌入VB脚本,ASP+COM;几千行业务代码,页面很混乱维护成本高C#IIS PHP:
开发速度快,功能强大,跨平台,代码简单无法承载大访问量(局限性)
JSP/Servlet:
B/S架构: 浏览和服务器C/S架构: 客户端和服务器基于Java语言可以承载三高(高并发 高可用 高性能)问题带来的影响 2.2 Web服务器
服务器:一种被动的操作,处理用户的请求、给用户响应信息
TomcatTomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
Tomcat 实际上运行JSP 页面和Servlet。Tomcat最新版本为10.0.14。
工作3-5年后, 可以尝试手写Tomcat服务器
3.Tomcat 3.1安装Tomcat官网: Apache Tomcat® - Welcome!
下载安装包, 解压即可
3.2Tomcat启动和配置 文件夹作用 启动/关闭Tomcat访问测试: localhost:8080
3.3配置配置启动端口
默认端口:8080
配置主机名称
默认主机名: localhost = 127.0.0.1默认网站存放位置: webapps
网站访问流程
- 浏览器输入域名检查本机的 hosts配置文件是否有此域名
- 有: 直接返回对应的IP地址, 这个地址有我们访问的web程序可以直接访问没有: 到DNS服务器查找, 找到就返回, 找不到提示
HTTP(超文本传输协议)是一个简单的请求-响应协议,通常运行在TCP之上。
文本:HTML,字符串,超文本:图片、音乐、视频、定位、地图默认端口:80 (HTTPS:443) 4.2. 两个时代
HTTP 1.0
HTTP/1.0客户端可以与web服务端连接后,只能获得一个web资源,断开连接 HTTP 2.0
HTTP/1.1客户端与服务器端连接后,可以获得多个web资源 4.3. HTTP请求
客户端 - 发请求(Request) - 服务器
百度:
Request URL: https://www.baidu.com/index.html # 请求地址 Request Method: GET # get/post方法 Status Code: 200 OK # 状态码 200 Remote Address: 36.152.44.96:443 # 远程地址 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
请求行:
请求行中的请求方式:GET请求方式:Get / Post / HEAD / DELETE / PUT …
get:一次请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容。不安全,但高效。post:请求能够携带的参数没有限制,大小无限制,不会在浏览器URL中显示,安全,不够高效。
消息头:
Accept: 告诉浏览器支持的数据类型Accept-Encoding: 支持哪种编码格式 GBK UTF-8 GB2312 ISO-8859-1Accept-Language: 告诉浏览器的语言环境Cache-Control: 缓存控制Connection: 告诉浏览器,请求完之后断开还是保持连接HOST: 主机 4.4. HTTP响应
服务器 - 响应 - 客户端
百度:
Cache-Control: private # 缓存控制 Connection: keep-alive # 保持连接 Content-Encoding: gzip Content-Type: text/html;charset=utf-8
响应体:
Accept: 告诉浏览器支持的数据类型Accept-Encoding: 支持哪种编码格式 GBK UTF-8 GB2312 ISO-8859-1Accept-Language: 告诉浏览器的语言环境Cache-Control: 缓存控制Connection: 告诉浏览器,请求完之后断开还是保持连接HOST: 主机Refresh: 告诉客户端,多久刷新一次Location: 让网页重新定位
响应状态码:
200 :请求响应成功3xx :请求重定向4xx :找不到资源 (资源不存在) 4045xx :服务器代码错误 500 , 502(网关错误)



