网站基础

一:什么是域名

域名(英语:Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

网域名称系统(DNS,Domain Name System,有时也简称为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被 机器直接读取的IP地址数串。

由高向低进行层次划分,可分为以下几大类:

我们需要注意的是:

每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器

每一级域名服务器都知道下级域名服务器的IP地址

为了容灾(互相之间可以进行健康状态监视和功能切换,当一处系统停止工作时,整个应用系统可以切换到另一处)每一级至少设置两个或以上的域名服务

二:域名和ip地址关系                                                        

IP地址与域名是一对多的关系。一个ip地址可以对应多个域名,但是一个域名只有一个IP地址。IP地址是 数字组成的,不方便记忆,所以有了域名,通过域名地址就能找到ip地址。

在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器。域名的最终指向是IP。

1. IP地址:IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。是一种在

Internet上的给主机编址的方式,也称为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它 为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

2. 域名:域名是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传

输时标识计算机的电子方位。域名是一个IP地址上的“面具” ,一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。

IP地址和域名是一一对应的,这份域名地址的信息存放在一个叫域名服务器(DNS,Domain name server)的主机内,使用者只需了解易记的域名地址,其对应转换工作就留给了域名服务器。域名服务器 就是提供IP地址和域名之间的转换服务的服务器。

三:什么是DNS                                                

那么如何将域名识别为IP呢,这个时候就需要DNS(Domain Name Service)进行辅助。当你在家接入宽带连接,或者手机接入网络的时候,运营商都会帮你分配一个DNS服务器(这个DNS服务器对于你来可叫作本地DNS,或者local   DNS,LDNS等)。而对于所有你不知道的域名-IP,都会先去这里查询一次,得到IP地址后再前往。这个过程就叫做DNS解析。

域名解析总体可分为一下过程:

(1) 输入域名后, 先查找自己主机对应的域名服务器,域名服务器先查找自己的数据库中的数据.

(2) 如果没有, 就向上级域名服务器进行查找, 依次类推

(3) 最多回溯到根域名服务器, 肯定能找到这个域名的IP地址

(4) 域名服务器自身也会进行一些缓存, 把曾经访问过的域名和对应的IP地址缓存起来, 可以加速查找过程

具体可描述如下:

主机先向本地域名服务器进行递归查询

本地域名服务器采用迭代查询,向一个根域名服务器进行查询

根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器的IP地址

本地域名服务器向顶级域名服务器进行查询

顶级域名服务器告诉本地域名服务器,下一步查询权限服务器的IP地址

本地域名服务器向权限服务器进行查询

权限服务器告诉本地域名服务器所查询的主机的IP地址

本地域名服务器最后把查询结果告诉主机

四:什么是cdn                                                

cdn全称是内容分发网络。其目的是让用户能够更快速的得到请求的数据。简单来讲,cdn就是用来加速的,他能让用户就近访问数据,这样就更更快的获取到需要的数据。举个例子,现在服务器在北京, 深圳的用户想要获取服务器上的数据就需要跨越一个很远的距离,这显然就比北京的用户访问北京的服 务器速度要慢。但是现在我们在深圳建立一个cdn服务器,上面缓存住一些数据,深圳用户访问时先访  问这个cdn服务器,如果服务器上有用户请求的数据就可以直接返回,这样速度就大大的提升了。

dns和cdn的关系

刚才说到cdn实际上是一个就近访问,那么现在有一个问题是,我们怎么知道用户的所在位置从而给他 分配最佳的cdn节点呢。这就需要dns服务来进行定位了。当我们通过使用dns服务的时候,可以根据他  使用的LDNS服务器来进行一个定位,例如我们的调度服务器看到他是来自深圳电信的LDNS服务器,那  么我们就认为该用户来自深圳电信,然后调度服务器可以让该用户去访问深圳电信的CDN服务器,这样  就让用户访问到了最优的cdn节点。

通过dns服务我们可以很快的定位到用户的位置,然后给用户分配最佳cdn节点。工作流程如下:

dns请求当地local DNS

当地local DNS递归的查询服务器的gslb

服务器根据local DNS 分配最佳节点,返回ip

用户获得最佳接入ip,访问最佳节点。

如果该节点没有用户想要获取的内容,则通过内部路由访问上一节点,直到找到文件或到达源站为 止。

cdn节点缓存该数据,下次请求该文件时可以直接返回。

五.web服务器简介

1.nginx

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

其中反向代理用通俗的话来说就是在外网访问相关网站时,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。

通俗点说正向代理和反向代理的区别:如果我们客户端自己用,就是正向代理。如果实在服务器用,我们用户无感知,就是反向代理。

2.apache

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中,下图为apache的工作原理。

URI Translation阶段:将请求的URL映射到本地文件系统,mod_alias模块就是在这个阶段工作

Header Parsing阶段:解析header头部,mod_setenvif在这个阶段工作

Access Control阶段:按照配置文件设定的策略对用户进行认证,并设定用户名区域,模块可以在这阶段实现认证方法。

Authorization阶段:根据配置文件检查是否允许认证过的用户执行请求的操作,模块可以在这阶段实现用户权限管理的方法

MIME Type Checking阶段 :根据请求资源的MIME类型的相关规则,将文件交由相应的处理模块。

Fix Up 阶段:模块在内容生成器之前,运行必要的处理流程

Response阶段 :生成响应报文。

Logging阶段 :在响应客户端后记录事务

CleanUp阶段 :清除请求后遗留的环境,如文件、目录的处理或者Socket的关闭等。

3.tomcat

Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。

由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器。但是,不能将 Tomcat 和 Apache HTTP 服务器混淆,Apache HTTP 服务器是一个用 C 语言实现的 HTTP Web 服务器;这两个 HTTP web server 不是捆绑在一起的。Tomcat 包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。

Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。

连接器的主要功能如下:

一、监听网络端口,接收和响应网络请求。

二、网络字节流处理。将收到的网络字节流转换成 Tomcat Request 再转成标准的 ServletRequest 给容器,同时将容器传来的 ServletResponse 转成 Tomcat Response 再转成网络字节流。

容器对于连接器的处理如下:

容器的请求处理过程就是在 Engine、Host、Context 和 Wrapper 这四个容器之间层层调用,最后在 Servlet 中执行对应的业务逻辑。各容器都会有一个通道 Pipeline,每个通道上都会有一个 Basic Valve(如StandardEngineValve), 类似一个闸门用来处理 Request 和 Response 。其流程图如下。

4.IIS

IIS是指World Wide Web server服务,IIS是一种Web(网页)服务组件。IIS常用于以下服务:

网页浏览

文件传输

新闻服务

邮件发送

其他重要未提及事项

IIS工作流程如下: