JavaWeb的基本概念:
在Java中,动态的web资源开发的技术多叫做JavaWeb
提到动态web我们先来了解什么是web开发:
-
web:也就是我们常说的网页的意思(动态web,静态web)
静态web: - heml,css - 提供给每个人看的数据始终不会发生改变 - 其中我们会看到一些动态图(轮播图,好有一些点击的特效,这些都是伪动态) - 无法与数据库进行交互(数据无法持久化) 动态web特点: - 现在我们大部分看到的都是动态web(淘宝,微博。。。) - 提供给每个人看的数据都是变化的,每个人在不同时间不同环境看到的数据都是不一样的 - 可以与数据库进行交互(数据持久化) - 如果动态web的数据资源出现异常,我们则需要重新编写我们的后台程序,然后重新发布(常见的停机维护)
web应用程序
web应用程序:可以提供浏览器访问的程序
程序中应该包括:
- web资源就是可运行的(.html),这些资源被外界访问从而对外界提供服务
- url (就是我们地址栏输入的网址)
- jsp,servlet
- java程序
- 导入的jar包
- 配置文件
- 还需要服务器来给外界提供访问(也就是说需要一个服务器来统一管理)
HTTP协议
HTTP(超文本传输协议)是一个简单的请求-响应协议,通常运行在TCP()之上
- 文本:html,字符串。。。
- 超文本:图片,音乐,视频,定位,地图。。。
- 响应码:80
- TCP:传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。
HTTP的两个时代:
- HTTP/1.0:客户端可以与web服务器连接后,只获得一个web资源
- HTTP/2.0:客户端可以与服务器连接后获得多个web资源
HTTP请求
-
客户端—请求—服务器(request)
请求行中的请求方式:get,post get:请求携带的参数较少,大小限制,会在浏览器的UPL(地址栏)显示数据内容,高效,安全性低 post:请求携带的参数多,大小不受限制,不会再浏览器的URL展示数据内容,不高效,安全性高
消息头
Accept:告诉浏览器,它所支持的数据类型 Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1 Accept-Language:告诉浏览器,它的语言环境 Cache-Control:缓存控制 Connection:告诉浏览器,请求完成是断开还是保持连接 HOST:主机..../.
-
服务器—响应—客户端(response)
响应体:
Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
HOST:主机..../.
Refresh:告诉客户端,多久刷新一次;
Location:让网页重新定位;
响应状态码:
200:请求响应成功 200
3xx:请求重定向
重定向:你重新到我给你新位置去;
4xx:找不到资源 404
资源不存在;
5xx:服务器代码错误 500 502:网关错误