Web开发概述
常见状态代码:
- 200 OK客户端请求成功
304 NOT MODIFIED该资源在上次请求之后没有任何修改,这通常用于浏览器的缓存机制
400 Bad Request客户端请求有语法错误,不能被服务器所理解
401 Unauthorized请求未经授权
403 Forbidden服务器收到请求,但是拒绝提供服务
404 Not Found请求资源不存在,如输入了错误的URL
500 Internal Server Error服务器发生不可预期的错误
http和https协议
HTTP由于是明文传输,所谓的明文,就是说客户端与服务端通信的信息都是肉眼可见的,随意使用一个抓包工具都可以截获通信的内容。所以安全上存在以下三个风险
- 窃听风险,比如通信链路上可以获取通信内容,用户号容易没
- 篡改风险,比如强制植入垃圾广告,视觉污染,用户眼容易瞎
- 冒充风险,比如冒充淘宝网站,用户钱容易没。
HTTPS在HTTP与TCP层之间加入了TLS协议来解决上述的风险,安全传输层协议TLS及其前身安全套接层,SSL用于在两个通信应用程序之间提供保密性和数据完整性。
TLS协议功能:1、信息加密:HTTP交互信息是被加密的,第三方就无法被窃取;2、校验机制:校验信息传输过程中是否有被第三方篡改过,如果被篡改过,则会有警告提示;3、身份证书:证明淘宝是真的淘宝网;
可见有TLS协议能保证HTTP通信是安全的了,那么在进行HTTP通信前,需要先进行TLS握手。HTTPS是应用层协议,需要先完成TCP连接建立,然后走TLS握手过程后才能建立通信安全的连接。
理解Tomcat和浏览器
Tomcat服务器是一个免费的开源的Web应用服务器,属于轻量级应用服务器,实际上仅仅是一个jsp/servlet容器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选,因为Tomcat运行时占用的系统资源小、扩展性好、性能稳定,已经成为目前比较流行的Web应用服务器,支持负载平衡与邮件服务等应用系统常用功能
tomcat目录结构
bin:tomcat启动、关闭之类的脚本文件
conf:tomcat各种配置文件。其核心配置文件有:1、server.xml 配置与server相关信息。2、web.xml
是web应用(一个web应用相当于一个站点)的父配置文件。3、tomcat-users.xml 配置tomcat相关信
息(管理tomcat服务器的用户名、密码和权限等)
lib:tomcat启动所依赖的jar包
logs:tomcat的系统日志
temp:tomcat运行时产生的临时文件
webapps:web应用所在的目录,即提供外界访问的web资源存放目录。
work:tomcat工作目录,主要用于存放jsp被访问后生成对应的servlet文件以及class文件
Tomcat重要配置
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150"
connectionTimeout="20000" redirectPort="8443"/>
maxThreads支持的最大并发连接数
port监听的端口号
protocol连接器使用的协议
redirectPort如果连接器支持的协议是http,当接收客户端发来的https请求时则转发到此属性定义
的端口
connectionTimeout等待客户端发送请求的超时时间,单位为毫秒
JavaEE应用开发的三层架构
三层架构自上而下将系统分为表示层、逻辑层、持久层。
- 表示层由处理用户交互的客户端组件及其容器所组成
- 业务逻辑层由解决业务问题的组件组成
- 数据层由一个或多个数据库组成,并可包含存储过程。
这种三层架构,在处理客户端的请求时,使客户端不用进行复杂的数据库处理;透明地为客户端执行许
多工作,如查询数据库、执行业务规则和连接现有的应用程序;并且能够帮助开发人员创建适用于企业
的大型分布式应用程序
总
架构模型
C/S架构-客户端/服务器
B/S架构-浏览器/服务器
B/S架构优势
不需下载特定软件
不需要客户端升级
可跨平台
访问网站流程
静态网站
发送请求-服务器处理请求,返回相应-浏览器显示返回内容
动态网站
发送请求-执行进程<与数据库交互>将进程的执行结果当作相应返回
使用MVC设计Web应用
M:Model-模型,存储Web应用数据的代码
V:View视图,格式化和显示Web应用的用户接口的代码
C:Controller控制器,将Web应用粘合在一起并提供业务逻辑的代码
CGI
可以让一个客户端,从网页浏览器向服务器请求数据。这是描述客户端和服务器进程之间传输数据的一种标准
Web应用结构
前端进程 – <HTML,CSS,JS>
后端进程 – <Python,PHP,JSP>
数据库 – <MongoDB,Mysql>
1. 软件概述
(1) 软件(什么是软件):软件是安装在操作系统上,用来解决现实实际问题的程序.
软件专业术语:计算机中一堆可执行计算机指令的集合!
2.软件的分类
(1) 单机软件:安装在操作系统中,不需要联网直接可以使用的软件
(2) 网络软件:安装在操作系统中,需要运行时联网才能执行业务处理的软件.
而网络软件又分为:
C/S结构的软件 : 客户端(Client)服务器(Server)软件 需要下载一个安装包,安装到操作系统中才能联网运行的软件,如QQ
B/S结构的软件 :浏览器(Browser)服务器(Server)软件 只需要电脑上有一个浏览器,就可以通过URL地址打开网页使用软件的功能,如:淘宝网
B/S结构的网络软件的开发,一般称为web软件的开发
3.软件的结构
作为一个成熟的软件,一般情况分三层结构[三层结构两座桥梁]:
(1) 软件界面:用来给用户展示一个界面操作
数据处理程序-> 数据-> 网页
网页-> 数据-> 后端数据处理程序
(2) 数据处理:用来处理用户在界面上操作的数据
数据处理程序> 数据-> 数据库
数据库-> 数据-> 读取程序
(3) 数据存储:用来永久存储软件处理的数据
4.wed概述
web,英文单词[网状物],主要用于表示计算机中的广域网络[world wide web]
world wide web:全球广域网络,也称为万维网,是一种基于超文本和HTTP的全球性的、动态交互的、跨平台的分布式图形信息系统,是建立在internet上的一种网络服务
web软件
web软件,是一种基于web为其数据交互基础的计算机软件
该类型软件,通过web万维网的数据交互协议,通过网络进行数据传输
主要目的是高效率的跨平台跨地区数据共享
什么是协议?
协议:是一种共同协商、计议之后通过的一种约定
互联网中的协议:互联网中的不同主机之间互相传递数据的一种约定,由OSI组织定义
OSI(Open System Initiative)开放式系统互联,一个推动开源软件发展的非盈利性质的组织
OSI/RM参考模型(Open System Interconnection Reference Model),是由国际化标准ISO(International Oranization for Standardization)提出的一个网络系统互联参考模型
web开发时使用的网络传输协议?
11561785-d81b0bac4d1da370.png
HTTPS的处理:HTTPS提供了一个非对称加密的通道用于传输数据,所以说提供了安全通道的超文本传输协议
请求request,响应response
请求:客户端向服务器发送数据[数据长度、编码、格式等等(数据格式)]
响应:服务器向客户端发送数据[数据长度、编码、格式等等(数据格式)]
请求方式:根据不同的数据请求操作,HTTP1.1标准中制定了8种请求方式
GET POST PUT DELETE OPTIONS TRACE HEADER CONNECT
在项目开发过程中,发现数据交互就是客户端和服务器的交互,交互的数据简短不需要保密,比较长/大的数据需要一定的保密等简单的要求,所常规项目中一般只使用两种请求方式
-
get:传话方式,只能传递简单的字符串数据,长度收到限制,传输的内容展示在url地址中
-
post:送信方式,能传递复杂数据[二进制数据],长度一般受服务器的限制,传输的内容包含在请求体中
本文介绍了Web开发的基础知识,包括HTTP和HTTPS协议,HTTP的安全风险与HTTPS如何通过TLS协议保障通信安全。详细讲解了Tomcat服务器的目录结构及重要配置,阐述了JavaEE应用的三层架构模型。此外,还探讨了B/S架构的优势,Web应用的请求响应流程,以及MVC设计模式和CGI。内容覆盖了Web开发的关键概念和技术,对于理解Web开发有重要指导意义。
8859

被折叠的 条评论
为什么被折叠?



