javaWeb:web为网站,javaWab就是用java来解决web互联网领域的技术栈
B/S架构:Brower/Server,浏览器/服务器 架构模式,他的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器,好处是易于维护和升级,客户端无需任何部署就可以用到新版本
浏览器会通过http协议(类似之前学的tcp、tup协议),跟服务端,请求或响应,服务器会通过Servlet和JSP加载数据库,然后发给前端html、css、js封装后响应给客户端
其中
静态资源:html、css、js、图片等,负责静态的展示页面(每个用户登录后基本展示页面都一样)
动态资源:Servler、JSP等,负责逻辑处理(每个用户登录后展现的数据不一样)
数据库:复制存储数据
HTTP协议:定义通信规则
Web服务器:负责解析HTTP协议,解析请求数据,并发送响应数据
web服务器:由静态资源和动态资源组成,可以用Tomcat集成软件处理
HTTP:(后面统一用Tomcat)
HyperText Transfer Protocol ,超文本传输协议,规定了浏览器和服务器之间数据传输的规则
特点:
1.基于TCP协议:面向连接,安全
2.基于请求-响应模型:一次请求对应一次响应
3.http协议是无状态协议:对于事物处理没有记忆能力。每次请求-响应都是独立的
缺点:多次请求间不能共享数据(后面会用java中的会话技术(Cookie、Session)解决,例如在点击加入购物车,数据需要在服务器进行记录,不然当用户点击查看购物车,数据是不会响应到客户端)
优点:速度快
http-请求数据格式:(了解)
1.请求行: 请求数据第一行,其中GET表示请求方式,/表示请求资源路径,HTTP/1.1表示协议版本
2.请求头:第二行开始,格式为key:value形式
3.请求体:POST请求的最后一部分,存放请求参数(只有POST特有)
例如:
常见的HTTP请求头:
Host:表示请求 的主机名
User-Agent:浏览器版本
Accept:表示浏览器可以接收的资源类型
Accept-Language:表示浏览器偏好语言,服务器可以根据此返回不同语言的网页
Accept-Encoding:表示浏览器可以支持的压缩类型
http-响应数据格式:(了解)
1.响应行: 响应数据的第一行。其中HTTP/1.1表示协议版本,200表示响应状态码,OK表示状态码描述
2.响应头:第二行开始,格式为key:value形式
3.响应体:最后一部分,存放响应数据(就是HTML代码)
例:
常见的HTTP响应头:
Content-Type:表示乡音内容的类型
Content-Length:表示该响应内容的长度(字节数)预知大小
Content-Encoding:表示该响应压缩算法(压缩格式)浏览器需要指定解压方式
Cache-Control:指示客户端应如何缓存,例如数据缓存到客户端,客户可以快速的访问
状态码大全:状态 | Status - HTTP 中文开发手册 - 开发者手册 - 腾讯云开发者社区-腾讯云https://cloud.tencent.com/developer/chapter/13553
常见的:
1.200代表OK
2.404代表请求资源不存在,一般url输入有误或网站资源被删除
3.500代表服务器发送不可预期错误,服务器出异常了,赶紧看日志(java代码)
查询方式:
打开网页、f12、任意点击网页内容请求一下服务器、控制台的网络(Network)会进行抓包,点击任意抓包内容、点击Headers、如果由view resource可以点击,即可查看http协议内容