目录
2.常见的web服务器apache/tomcat/nginx/iis
1.Web系统概述
1.Web,也称万维网(网址以 www 开头),是一种网络使用环境的总称.
2.web是互联网的总称,全称为World Wide Web,缩写WWW ,即全球广域网。
3.从网络使用环境的角色来看,web就是我们平常使用浏览器上网是所看的网页。
4.从技术的角度来看,Web技术包含网站网页的布局设计、代码编写、数据库建立、网络平台等相关技术
2.常见的web服务器apache/tomcat/nginx/iis
一、nginx 读:俊似
ngnix是反向代理服务器,它是代理,本身并不执行,是个传话筒,把用户提交的请求转发给web服务器,再把web服务器的结果转发给用户。为了提高性能,启用反向代理,实际的web服务器可以有很多台,而ngnix放在前面,可以把这些web服务器整合成一个虚拟的更强大的服务器。
二、iis
iis是微软开发的web服务器,需要收费,主要用来跑 asp.net asp php,只能在windows下运行。
三、apache 读: ap尺
apache是apache基金会的web服务器,免费,只支持静态页面,是html容器,应用范围广泛。
四、tomcat 读: 汤cat
tomcat是apache基金会的java服务器,主要用来跑jsp php python等。
3.B/S架构和C/S架构
一.CS结构的软件
CS:Client/Server 客户端和服务器,这种软件往往需要安装。比如QQ,支付宝,英雄联盟等。
优缺点:
优点:
可以减轻服务器端压力,将部分代码写到客户端。
界面很美观。
缺点:
一旦服务器更新了,客户端也需要更新。
分布式开发比较弱。
二.BS结构的软件
BS:Browser/Server 浏览器和服务器,这种软件不需要安装,只需要通过浏览器就可以访问。
优缺点:
优点:
服务器一旦更新,不需要更新客户端,因为客户端就是浏览器
比较强的分布式能力
缺点:
服务器端压力会比较大。
界面效果不如CS结构软件。
4.B/S架构和C/S架构比较
C/S | B/S | ||
| 开发难道 | 对开发人员要求较高 | 开发门槛低; 只要考虑浏览器的兼容情况; |
功能/交互功能 | 自主性强 | 依赖于浏览器; | |
| 安装 | 必须安装客户端程序;配置部署复杂; | 只要部署服务器 |
升级 | 跟新服务器之后 所有客户端都要升级 | 只需更新服务器 | |
运行 | 操作系统/类型 | 区分操作系统和运行平台 | 只要有兼容的浏览器即可 |
性能 | 最大化利用终端性能 | 性能相对较低 | |
维护 | 要求高 | 方便 | |
个性化需求 | 单独更新客户端 | 不支持 | |
安全性 | 相对封闭,但也需要认真设计 | 需要花费精力设计 |
(1)、B/S架构需要重点考虑系统在不同的浏览器中的兼容性问题(浏览器的内核不同)
(2)、C/S 架构需要考虑系统在不同平台的安装、卸载、升级
5.C/S架构交互
它可以分为客户机和服务器两层:
第一层: 在客户机系统上结合了界面显示与业务逻辑;
第二层: 通过网络结合了数据库服务器。
简单的说就是第一层是用户表示层,第二层是数据库层。
由于只有一层交互,因此响应速度较快。(直接相连,中间没有什么阻隔或岔路,比如QQ,微信,每天那么多人在线,也不觉得慢
6.B/S架构交互
浏览器/服务器结构层:与C/S架构只有两层不同的是,B/S架构有三层。
第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能。
第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能。
第三层数据层:主要是接受客户端请求后独立进行各种运算。
可以随时更新版本,而无需用户重新下载啊什么的。
B/S架构形式
第一种:客户端-服务器-数据库
这个应该是我们平时比较常用的一种模式:
1、客户端向服务器发起Http请求
2、服务器中的web服务层能够处理Http请求
3、服务器中的应用层部分调用业务逻辑,调用业务逻辑上的方法 (……接口)
4、如果有必要,服务器会和数据库进行数据交换. 然后将模版+数据渲染成最终的Html, 返送给客户端据库
第二种:客户端-web服务器-应用服务器-数据库
类似于第一种方法,只是将web服务和应用服务解耦
1 客户端向web服务器发起Http请求
2 web服务能够处理Http请求,并且调用应用服务器暴露在外的RESTFUL接口 (restful指的是一组架构约束条件和原则)大概提一下rest的资源和价值
3 应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给web服务器
4 web服务器将模版+数据组合渲染成html返回给客户端
URI既可以看成是资源的地址,也可以看成是资源的名称
应用服务器不限于HTTP.Web服务器的主要工作是显示网站内容
应用服务器是负责逻辑
应用服务器是协同工作与Web服务器,其中一个显示和另一个交互
7.http协议
HTTP(超文本传输协议):一种无状态的、应用层的、以请求/应答方式运行的协议,它使用可扩展的语义和自描 述消息格式,与基于网络的超文本信息系统灵活的互动。
HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。
为什么地址栏上面输入要访问的URL后就可以访问到Web页面呢?
我们日常生活中经常会使用浏览器访问Web站点,但是大家有思考过在这个过程中到底发生了什么吗?为什么我们在浏览器地址栏上面输入要访问的URL后就可以访问到Web页面呢?
例如:我们输入了baidu.com这个域名,然后域名通过这个去查询当前所对应的网络ip地址,然后解析url的IP地址返回给客户端,客户端拿到了正确的地址,去找web服务器进行通信,从而获得我们看到百度web页面了
解析url获取ip的过程叫DNS
获取web页面的过程就是典型的三次握手建立tcp的过程
DNS,tcp的过程
三次握手的详细你们要自己主动去了解呀
8.主流五大浏览器
IE浏览器 火狐浏览器 谷歌浏览器 苹果浏览器 欧派浏览器
没有应用层的服务器
会放回一个zt值给404( 资源不存在)的状态或者500(服务器出错了),成功的返回状态码是200 这
常见的协议有:HTTP(最常见的网络传输协议)、HTTPS(进行加密的网络传输协议)、File(本地文件夹协议)、FTP、Telnet 等。
9.DNS
提到域名和 IP 关系后,就必须理解 DNS(Domain Name System 域名系统)——用来记录域名和
IP 地址相互映射的信息。
作用:可以让人们免于记住那些繁琐的数串。
大型企业都有自己的 DNS 服务器,专门用来存储域名和 IP 的映射关系;
如谷歌的 DNS 服务器地址 8.8.8.8 ;国内知名 DNS 服务器地址 114.114.114.114 。
域名和ip是通过DNS链接起来的
域名也是有级别的
com是顶级域名
baidu.com是二级域名(俗称一级域名)
www.baidu.com是三级域名(俗称二级域名)
10.面向对象
面向对象是一种实物,比如杯子、书本…的物体,人的思想能看到的。
11.面向过程
面向对象是机械,电脑的理论编写过程,编程思想,与面向对象不同,封装、继承、类,简写为POP (Procedure Oriented)
12. 反射
反射是.NET中的重要机制,通过放射
13.装箱和拆箱
装箱:把值类型转换到引用类型。
拆箱:把引用类型转换到值类型。
14. .net反射
通过反射可以提供类型信息,从而使得我们开发人员在运行时能够利用这些信息构造和使用对象。
反射机制允许程序在执行过程中动态地添加各种功能。
15. post 和get
get重点是从服务器上获取资源