Javaweb 01
web
静态web: html css 提供给所有人看的数据始终不会发生变化
动态web:每个人不同时间不同地点看到的信息各不相同
技术栈:servlet/JSP、ASP、PHP
web应用程序
即可以提供浏览器访问的程序
- 如a.html b.html 这些web资源可以被外界访问,对外界提供服务
- 能被访问到任一页面或资源,都存在于世界上某一计算机上
- 统一的web资源会被放在同一文件夹下 web应用程序——>Tomcat:服务器
- 一个web应用由多部分组成(静态web 动态web)[html css js jsp servlet java程序 jar包 配置文件(Properties)]
web应用程序编写完后 若想提供给外界访问,需要一个服务器来统一管理
![1662544923650](D:\My Note\Javaweb\assets\1662544923650.png)
web服务器
技术层面
ASP
- 微软做的 国内最早流行
- 在HTML中嵌入了VB的脚本 ASP+COM
- 在ASP开发中,基本一个页面就是几千行物业逻辑代码 HTML跟java混在一起写 页面很混乱
- 维护成本高
- 主要语言用C#
PHP
- 开发速度快,功能很强大,跨平台,代码简单
- 局限性:无法承载大访问量的情况 只能适用于中小型开发
JSP/servlet
- sun公司主推的B/S架构(B/S:浏览器和服务器 C/S:客户端和服务器)
- 基于java语言
- 可以承载三高问题(高并发 高可用 高性能)带来的影响
- 语法像ASP
web服务器
接收处理用户的请求和返回给用户响应
IIIS
- 微软的,Windows自带
Tomcat
- Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目
- 最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。
- Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
- Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
- Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。Tomcat最新版本为10.0.14。
02
HTTP
HTTP(超文本传输协议)是一个简单的请求-响应协议,通常运行在TCP之上
- 文本:html,字符串
- 超文本:音乐 图片 视频 定位 地图
- 默认端口:80
HTTPS
- 默认端口:443
- s代表security安全的
http两个时代
- http1.0
- HTTP/1.0:客户端可以与web服务器连接后只能获得一个web资源后就断开连接
- http2.0
- HTTP/1.1:客户端可以与web服务器连接后只能获得多个web资源
http请求
客户端--->发请求----->服务器
以百度为例子
请求 URL: https://www.baidu.com/
请求方法: GET
状态代码: 200 OK
远程地址: 14.215.177.39:443
引用站点策略: origin-when-cross-origin
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cache-Control: max-age=0
Connection: keep-alive
-
请求行
- 请求方式:GET/POST 、HEAD,DELETE,PUT...
- GET:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全但高效
- POST:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全但不高效
- 请求方式:GET/POST 、HEAD,DELETE,PUT...
-
消息头
Accept: 告诉浏览器它所支持的数据类型 Accept-Encoding: 支持哪种编码格式 GBK UTF-8 GB2312 Accept-Language: 告诉浏览器它的语言环境 Cache-Control: 缓存控制 Connection:告诉浏览器,请求完事断开还是连接 HOST:主机
http响应
服务器----->响应---->客户端
以百度为例
Cache-Control: private 缓存控制
Connection: keep-alive 连接
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
- 响应体
Accept: 告诉浏览器它所支持的数据类型
Accept-Encoding: 支持哪种编码格式 GBK UTF-8 GB2312
Accept-Language: 告诉浏览器它的语言环境
Cache-Control: 缓存控制
Connection:告诉浏览器,请求完事后断开还是连接
HOST:主机
Refrush:告诉客户端多久刷新一次
Location:让网页重新定位
-
响应状态码
200:请求响应成功
4xx:找不到资源 404
3xx:请求重定向
5xx:服务器代码错误 500 网关错误502
详细的完整版狂神说Javaweb笔记找到以下转载:
https://www.cnblogs.com/th11/p/15098301.html