WEB基础

Posted 小丨铁匠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WEB基础相关的知识,希望对你有一定的参考价值。

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 环境搭建步骤

 

  1. 安装对应版本的JDK
  2. 配置环境变量

 

环境变量设置方法:

打开我的电脑--->属性面板, 选择高级系统设置

选择环境变量

在系统变量这块进行设置:

新建系统变量:

变量名:【JAVA_HOME】

变量值:【D:\\java\\jdk】

在系统变量里面找到Path选择编辑:

在里面添加【%JAVA_HOME%\\bin】【%JAVA_HOME%\\jre\\bin】【%JRE_HOME%】

 

 

 

 

 

测试配置成功,cmd中输入javac,显示如下界面:

 

 

  1. 安装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输入项目名称即可。

左边一些文件的主要用途:

  1. src:主要用来存放我们的Java代码
  2. web:主要用来存放需要发布的应用文件,包括页面,配置文件等
  3. WEB-INF:存放一些管理类,配置文件等
  4. web.xml:项目的配置文件
  5. 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之环境搭建

 


 

 

以上是关于WEB基础的主要内容,如果未能解决你的问题,请参考以下文章

20155217《网络对抗》Exp08 Web基础

笔记网易微专业-Web安全工程师-01.WEB基础知识

零基础学习WEB前端开发:HTML第一部分基础知识的综合案例

20154312 曾林 Exp8 web基础

零基础学web前端,应该先学什么?

WEB基础