WEB基础
关于web基础,有很多方面可以讲解,下面我就大致介绍一下web基础的一些方面,包括C/S,B/S,HTTP协议,WEB服务器原理,java web 开发环境与搭建。
C/S和B/S的应用
C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。
B/S 是Brower/Server的缩写,客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。用户界面完全通过WWW浏览器实现,主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。
B/S与C/S的区别
1.硬件环境不同:
C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务. B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行
2.对安全要求不同
C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息. B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
3.对程序架构不同
C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑. B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.
4.软件重用不同
C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好. B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子
5.系统维护不同
C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统 B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
6.处理问题不同
C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统 B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.
7.用户接口不同
C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高 B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.
8.信息流不同
C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低 B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。
http协议原理概念介绍
1. HTTP协议简介
HTTP协议,全称HyperText Transfer Protocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议。HTTP的重要应用之一是WWW服务。设计HTTP协议最初目的就是提供一种发布和接收html(一种页面标记语言)页面的方法(请求返回)。
HTTP协议是互联网上常用的通信协议之一。它有很多的应用,但最流行的就是用于Web浏览器和Web服务器之间的通信,即WWW应用或称Web应用。
WWW,全称World Wide Web,常称为Web,中文译为“万维网”。它是目前互联网上最受用户欢迎的信息服务形式。HTTP协议的WWW服务应用的默认端口为80(端口的概念),另外的一个加密的WWW服务应用https的默认端口为443,主要用于网银,支付等和钱相关的业务。当今,HTTP服务,WWW服务,Web服务三者的概念已经混淆了,都是指当下最常见的网站服务应用。
2.用户访问网站的过程
利用DNS协议进行域名解析
第一步:客户端用户从浏览器里输入www.baidu.com网站地址,回车后,系统首先会查找系统本地的DNS缓存及hosts文件信息,查找是否存在www.baidu.com域名对应的IP解析记录,如果有就直接获取IP地址,然后去访问这个IP地址对应域名www.baidu.com的服务器,一般第一次请求时,DNS缓存是没有解析记录的,而hosts多在内部临时测试时使用。
第二步:如果客户端本地DNS缓存及hosts文件没有www.baidu.com域名对应的解析记录,那么,系统会把浏览器的解析请求发送给客户端本地设置的DNS服务器地址(通常称此DNS为LDNS或首选DNS服务器,即Local DNS)解析,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回IP地址给客户端,如果没有,则LDNS会负责继续请求其他的DNS服务器。
第三步:LDNS会从DNS系统的根域(.)开始请求www.baidu.com域名的解析,针对各个层级的DNS服务器系统进行一系列的查找,最终会查找到baidu.com域名对应的授权DNS服务器,而这个授权DNS服务器正是企业购买域名时用于管理域名解析的服务器,这个授权服务器会有www.baidu.com对应的IP解析记录,如果此时没有,就表示企业的域名管理人员没有为www.baidu.com域名做解析设置,即网站还没架设好。
第四步:baidu.com域名的授权DNS服务器会把www.baidu.com对应的最终IP解析记录发给LDNS。
第五步:LDNS把收到的来自授权DNS服务器www.baidu.com对应的IP解析记录(A记录)缓存到本地,再发给客户端,以便下一次更快的返回相同解析请求的记录,这些缓存记录在指定的时间(DNS TTL值控制)内不会过期。
第六步:客户端浏览器获取到了www.etiantian.org的对应IP地址的解析记录,会先缓存到本地,接下来,浏览器会请求获得的IP地址对应的网站服务器
建立tcp协议三次握手过程
客户端发出访问网站相应页面请求(发出http协议请求报文)
系统架构部署情况
服务端发出响应访问页面的请求信息(发出http协议响应报文)
断开tcp协议四次挥手过程
web服务器简介
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache nginx IIS。
web服务器的原理
web服务器大致的工作流程:
用户发出请求----->浏览器与对端服务程序建立TCP连接----->浏览器将用户的事件按照HTTP协议格式打包成一个数据包----->浏览器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到对端服务程序--->服务端程序拿到该数据包后,同样以HTTP协议格式解包,然后解析客户端的意图----->得知客户端意图后,进行分类处理----->将结果装入缓冲区----->按照HTTP协议格式将数据打包----->服务器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到客户端----->浏览器拿到包后,以HTTP协议格式解包,然后解析数据,假设是HTML文件----->浏览器将HTML文件展示在页面
简单的来说就是接受数据,发送数据,处理数据。而web服务器本质就是接收数据->HTTP解析->逻辑处理->HTTP封包->发送数据
web服务器工作原理
Java Web 环境搭建步骤
- 安装对应版本的JDK
- 配置环境变量
环境变量设置方法:
打开我的电脑--->属性面板, 选择高级系统设置。
选择环境变量,
在系统变量这块进行设置:
新建系统变量:
变量名:【JAVA_HOME】
变量值:【D:\\java\\jdk】
在系统变量里面找到Path选择编辑:
在里面添加【%JAVA_HOME%\\bin】【%JAVA_HOME%\\jre\\bin】【%JRE_HOME%】
测试配置成功,cmd中输入javac,显示如下界面:
- 安装Tomcat
1.环境搭建
新建系统变量:
变量名:【CATALINA_HOME】
变量值:【D:\\Compilers\\apache-tomcat-8.5.54】
在系统变量里面找到Path选择编辑:
在里面添加【%CATALINA_HOME%\\lib】【%CATALINA_HOME%\\bin】
2.测试是否安装成功
保存系统变量的配置之后,按win+R键打开运行,输入cmd,点击确定,在命令行中输入“startup”,启动tomcat服务,启动成功代表环境变量配置成功,
显示如下图,表示安装成功。
在浏览器中输入“localhost:8080”,出现如下界面,代表tomcat环境搭建成功,如下图所示:
5. 在idea中启动Tomcat服务器
(1)创建一个Java Web项目
打开idea,新建一个项目
接着next输入项目名称即可。
左边一些文件的主要用途:
- src:主要用来存放我们的Java代码
- web:主要用来存放需要发布的应用文件,包括页面,配置文件等
- WEB-INF:存放一些管理类,配置文件等
- web.xml:项目的配置文件
- index,jsp:默认的首页面
接下来就是配置服务器了
项目创建完成之后想要运行还需要配置一下Tomcat服务器,才能运行。
找到右上角
选择Edit Configurations,然后配置TomCat,选择自己TomCat路径然后取个名字
选择Deplotment,点+号,选择Artifacts
配置完成后点击运行,出现下面页面就表示配置成功了。
参考自: https://blog.51cto.com/12805107/2067971 HTTP协议原理
https://blog.csdn.net/qq_36359022/article/details/81666221 web服务器工作原理
https://blog.csdn.net/yuzhiqiang_1993/article/details/81166813 Java Web之环境搭建