Web(1)

本文介绍了Web开发的基础知识,包括HTTP和HTTPS协议,HTTP的安全风险与HTTPS如何通过TLS协议保障通信安全。详细讲解了Tomcat服务器的目录结构及重要配置,阐述了JavaEE应用的三层架构模型。此外,还探讨了B/S架构的优势,Web应用的请求响应流程,以及MVC设计模式和CGI。内容覆盖了Web开发的关键概念和技术,对于理解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:送信方式,能传递复杂数据[二进制数据],长度一般受服务器的限制,传输的内容包含在请求体中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值