Web开发浅涉(以JAVA为例)
1.WEB
1.1 web
web:网页
静态web:给所有人看到的内容都是一样的
动态web:给不同的人不同时间看到的内容都是不同的
JavaWeb:JAVA中动态web资源开发技术的统称
1.2 web应用程序
web应用程序:提供给web/浏览器使用的应用程序:B/S:browse/service
对比常规电脑端应用程序:C/S:computer/service
- html也是一种web资源,也是一种web应用程序
- 只要能访问到的网页都以URL为导航的方式存放在某台设备上
- 一组相关的web资源会被放在同一个文件夹里,被称为web应用
!!一个web应用由多部分组成:静态web 动态web
- html css js
- jsp servlat
- jar
- config
- java
1.3 静态web
缺点:
- 所有的用户看到的都只是Index,只有Index被更新的时候,用户看到的页面才会被更新
- 静态web只能做到伪动态,JS
- 静态web的数据无法持久化,无法与数据库互动!
1.4 动态web
页面的展示会因人而异!!
缺点:
- 如果动态web寄了,要停机维护
2.Web 服务器(web server)
2.0 概念
!!!后端就是服务器!!!
!!!服务器不是WebServer!!!
**Web服务器就是用来接受请求并发送响应的东东。**只是 处理web资源的交互!!
JAVA初学时服务器是挂在电脑上的Tomcat
WebServer交互的东西有两部分:数据文件和HTTP 都可以用Servlet搞定
- 数据文件 :web资源or客户端浏览器前端JS需要的数据(JSON格式…)(静态Or动态)…
- HTTP:请求行 请求头 响应头…
并不是之前理解的服务器/计算机是Web服务器,而是挂在服务器上的WebServer应用/软件才是网站交互流程中的“服务器”
后端包括了交互部分(WebServer)和静态web资源和动态web资源和数据库(包括接口JDBC)
静态web:static文件夹
动态web : 动态渲染网页,与数据库联通的部分,可以实现数据的持久化(Servlet等)
WebServer和FileSystem都放在服务器计算机上,服务器/计算机就是后端。
2.1 技术\web服务器的实现手段\语法(脚本语言)
ASP PHP JSP
2.2 应用文件常见配置(以Tomcat为例)
应用文件的配置及一些基础知识: 看 多线程 和 反射课程
bin : 放一些启动关闭的脚本文件
config : 放一些配置文件
lib : 一些插件依赖的jar包
Logs : 日志
webapps : 存放网站
文件夹基本信息↑
3.Tomcat
3.1 install
3.2 config配置
可以改所有!端口,主机,网站。。。
3.3 网站访问流程
3.4 发布一个网站
发布:
对比:
未发布:file:///C:/Users/jyz/Desktop/test.html
发布后:http://localhost:8080/jokerstudy/
发布方法:
发布位置:tomcat的webapps文件夹,里面的每个文件夹都是一个web应用
web应用的常见目录表述:
4.Http
4.0 个人理解
用于请求传递,信息交互,用统一的格式:HTTP
4.1 概念
超文本传输协议:hyper text transfer protocol
文本: html string
超文本: 图像 多媒体 音频 定位 地图 。。。
是一个简单的请求-响应协议,它通常运行在TCP之上。
4.2 历史
HTTP1.0
客户端与web server请求后,只能访问一个web资源
HTTP1.1
客户端与web server连接后,可以访问多个web资源
省流量!
4.2.5 HTTP General
请求URL: https://www.baidu.com/
请求方法: GET
状态代码: 200 OK
远程地址: 112.80.248.76:443
引用站点策略: unsafe-url
Request URL: https://www.baidu.com/
Request Method: GET
Status Code: 200 OK
Remote Address: 112.80.248.76:443
Referrer Policy: unsafe-url
4.3 HTTP request
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
Connection: keep-aliveCookie: PSTM=1648102684; BAIDUID=6FDE9524B733506FFF7D5565EADD4F74:FG=1; BD_UPN=12314753; BIDUPSID=6990BEC3F7135BE698BCE225A7A65EBF;
Host: www.baidu.com
Referer: https://www.baidu.com/
sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="100", "Microsoft Edge";v="100"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 Edg/100.0.1185.29
1.请求行
请求的URL+请求的Methods
请求方式: GET POST *RESTful风格:*HEAD DELETE PUT TRACT…
GET:高效不安全容量小
POST:安全不搞笑容量大
2.请求头/消息头
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 支持的语言
Connection: keep-alive 告诉浏览器,请求完成是断开连接还是保持连接
HTTP协议的消息的目标对象是两侧的人:客户端和服务器
4.4 HTTP response
Bdpagetype: 1Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Sat, 09 Apr 2022 03:45:23 GMTExpires: Sat, 09 Apr 2022 03:45:22 GMT
Server: BWS/1.1
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=35836_36175_31660_36021_34813_36167_34584_36140_36120_35978_36125_36234_26350_36102_36061; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1649475923033382759416205506190196399781
Transfer-Encoding: chunked
X-Frame-Options: sameorigin
X-Ua-Compatible: IE=Edge,chrome=1
4.5 webserver交互过程的模型
5.Cookie Session
5.1 会话
Def:打开浏览器一通浏览操作直到关闭浏览器-------->一次会话
有状态会话: 算得上留下脚印 的会话
类比
你,怎么证明你是团学的
你 -------------- 团学
方案一:聘书 团学给你发聘书
方案二:团学登记 团学完整的登记了你
在web中
一个网站,怎么证明你来过
客户端 ------------- 服务器
方案一:发一个cookie/发一个小饼干/发一个标记 Cookie
方案二:网站详细地登记了你的信息 Session
5.2 会话的两种保存方法
Cookie:客户端技术
- ? 响应,请求
Session:服务器技术
- 可以保存用户的会话信息,把信息数据放在Session中
Web开发浅涉(以JAVA为例)相关推荐
- web自动化如何在不同浏览器运行_如何给树莓派搭建WEB开发运行环境之JAVA篇
在上一篇,我们已经脱掉了她华丽的外衣,你不用再添加任何华而不实的装饰,一切都交给CLI来搞定.树莓派WEB开发运行环境之JAVA篇,只需5个步骤: 安装JAVA开发包 安装和运行maven 创建JAV ...
- 如何给树莓派搭建WEB开发运行环境之JAVA篇
在上一篇,我们已经脱掉了她华丽的外衣,你不用再添加任何华而不实的装饰,一切都交给CLI来搞定.树莓派WEB开发运行环境之JAVA篇,只需5个步骤: 安装JAVA开发包 安装和运行maven 创建JAV ...
- 零基础学java web开发pdf_新手学Java Web开发.pdf
作 者 :杨磊等编著 出版发行 : 北京:北京希望电子出版社 , 2010.01 ISBN号 :978-7-89498-988-8 页 数 : 480 丛书名 : 新手学编程系列 原书定价 : 49. ...
- 零基础学java web开发 pdf_从零开始学Java Web开发 PDF 扫描版[69M]
java web是目前最流行的动态网页开发技术之一.本书由浅入深.循序渐进,使零基础的读者能够熟练掌握如何使用java web开发应用程序系统. 本书分为4部分,第一部分是java语言基础篇,包括ja ...
- java web开发(一) Java Web开发框架对比
java web 非本人研究方向,只是作为拓展知识涉猎范围 原文链接:http://www.importnew.com/7957.html Web框架有点像酸酵母,你要么喜欢它,要么讨厌它!什么?你 ...
- web开发选择php还是java
php相对java来说易学,且开发成本低,因为lamp平台几乎免费,且全部开源,故学习成本低.能找的资源很多,又因为php的开发不常驻内存,大多开源项目都能哪来进行二次开发,故在快速开发领域,php绝 ...
- Day 6:在 Java 虚拟机上使用 Grails 进行快速 Web 开发
在"30天学习30种新技术"的第六天,我决定去学习一个 web 开发框架 : Grails. Grails 是一个基于 Groovy 和 Java 的开源 Web 框架.它是 Ja ...
- 贯通Java Web开发三剑客
2019独角兽企业重金招聘Python工程师标准>>> 贯通Java Web开发三剑客 内容简介 本书分为六篇共19章,包括基础知识.Eclipse工具的介绍.Tomcat工具以及S ...
- java目前开发的背景_Java web 开发构想[一] 背景和形势
[Java web 开发构想系列 转自JavaEye社区,在此申明] 1.背景.形势 能够进行Web开发的编程语言和技术很多 (1) 动态解释语言 PHP; Perl; Python (Zope, P ...
最新文章
- 清华芯片研究再获顶会MICRO加持:软件定义芯片团队出品,最佳论文提名后又一突破...
- document,element,node方法
- Tomcat8中的并发ConcurrentDateFormat的实现
- Bootstrap4 网格系统
- android LayoutInflater.inflate()的参数及其用法
- 谷歌街景新功能——帮警方抓毒贩
- CCIE-LAB-第一篇-教学导入环境
- 学成在线--2.CMS前端页面查询开发
- 主成分分析法案例_因子分析案例及操作解析
- Ubuntu下绘图软件krita64位无中文问题
- python计算机中丢失api-ms-win-crt-runtime-l_api-ms-win-crt-runtime-l1-1-0.dll
- 算法----并行算法
- mysql 5.7 严格模式_mysql 5.7中严格模式的问题
- (转)美国:2016-2045新科技趋势报告
- c语言在线考试系统的需求分析,在线考试系统需求分析.doc
- JSP教程 JSP教程 JSP教程 JSP教程 JSP教程 JSP教程
- 苹果平板做ppt方便吗_“你不是大学生吗,怎么连PPT都做不好?”
- 创建新环境出现报错Collecting package metadata (current_repodata.json): failed.问题成功解决。
- 逻辑强化(03)真假推理 知识练习
- 多媒体-用windows自带录音机录音(转载)