基础知识--客户端·服务端·代理

目录

一、客户端

1.什么是客户端

2.客户端分类 

二、服务端

1.什么是服务器

2.服务器的作用

3.服务器工作原理

4.服务器的组成

服务器硬件

服务器软件

5.补充

三、代理

1.代理的分类

正向代理 

反向代理

两者的区别与联系

2.总结


一、客户端

1.什么是客户端

客户端(client)指的是应用中面向用户的那一部分界面和功能,是一个区别于服务端(server)的相对概念。

2.客户端分类 

客户端一般可以这样分:

  1. 桌面app(desktop app),指的是运行在桌面操作系统(如windows、macos、ubuntu)上的客户端应用;
  2. 桌面web(client of web),指的是运行在桌面浏览器(如chrome、safari、firefox)中的超文本内容(网页);
  3. 移动app(client of mobile app),指的是运行在移动设备操作系统(如iOS、windows mobile、android)上的客户端应用;
  4. 移动web(client of mobile web),指的是运行在移动设备浏览器(如Chrome for Android, iOS Safari)上的超文本内容(移动网页)。

业务逻辑部分一般指的是区分于用户界面(GUI)系统的那部分功能。业务逻辑可以是客户端的部分功能,也可以放在服务端来实现。

二、服务端

1.什么是服务器

服务器是指能向网络用户提供特定服务的软件+硬件

2.服务器的作用

是为网络提供特定的服务,人们通常用服务器所能提供的主要服务来命名服务器,比如提供文件共享服务的服务器称为文件服务器,提供打印队列共享服务的服务器称为打印服务器等。

3.服务器工作原理

如果把服务器比作人,处理器就是服务器的大脑,各种总线就像是分布于全身肌肉中的神经。芯片组有点像骨架,I/O设备就像是通过神经系统支配的人的手、眼睛、耳朵和嘴。电源系统相当于血液循环系统,将能量输送到身体的各个地方。

4.服务器的组成

服务器硬件+服务器软件

总结起来就是:服务器软件 运行在服务器硬件上 ,为其他计算机用户 提供操作服务。

举例说明服务器硬件和服务器软件,两者的关系:

下载好的MySQL软件安装包就表示一款数据库软件服务器。将它安装到我个人电脑,并运行起来。我这台个人电脑就可以视为一台硬件服务器 / 网络主机了。这台电脑就具备了为其他电脑提供数据库访问、操作的服务。

服务器硬件

硬件角度来说,服务器指的是一种具有【强大运算能力】、能【提供高可靠服务】的【高性能】计算机。

  • 硬件服务器的构成和通用计算机的架构类似,但其配置会比普通计算机的高级。
  • 由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。 因此对其硬件配置要求也更高。
  • 硬件服务器作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。

分类:

  • 按应用层次划分为四类:入门级服务器工作组级服务器部门级服务器 和 企业级服务器
  • 按机箱结构划分为四类:塔式服务器刀片式服务器、机架式服务器高密度服务器

                                           

服务器软件

服务器端软件,是相对于客户端 ( Client ) 软件而言的。是指能够开放网络端口,接受其他的客户端软件建立连接,并且通过此连接与客户端软件之间交换数据的软件。

而这一开放特定端口,接受客户端软件连接,并通过此连接与客户端软件交换数据的行为称为 “服务”(service)。

分类

网络服务器指的是网络环境下为客户提供某种服务的专用服务器。通俗的说,该服务器只要联网,就能看做是网络服务器。
在网络环境下,通常根据服务器所提供的服务类型来作为分类依据。网络服务器端软件的种类很多:

  • 网页服务器(Web Server)—— Apache、Nginx、微软的IIS、lighttpd等
  • 应用程序服务器(Application Server)——Tomcat、Weblogic
  • 数据库服务器(Database Server)——MySQL、Oracle、Redis
  • FTP服务器(FTP Server)——Pureftpd、Proftpd、WU-ftpd、Serv-U、vs-ftpd等。
  • 代理服务器(Proxy Server)——如Squid cache
  • 域名服务器(DNS Server)——如Bind等
  • 邮件服务器(Mail Server)——Sendmail、Postfix、Qmail、Microsoft Exchange、Lotus Domino、dovecot等

每种类型的服务器都有不同的版本,可以运行在不同的硬件及软件平台上。

这些软件可以单独运行在某一台计算机上,也可以共同运行在同一台计算机上。它们各自开放不同的端口等待不同的客户端软件连接。

比如Http Server通常开放80端口,FTP Server通常开放21端口。

5.补充

Windows,Linux与Unix这3个操作系统是架设Web服务器比较常见的操作系统。
        Linux的安全性能在这3个操作系统中最高,可以支持多个硬件平台,其网络功能比较强大。总的来说,这两大优点是其他操作系统不可替代的:
        第一,可以依据用户不同的需求来随意修改、调整与复制各种程序的源码以及发布在互联网上;
        第二,Linux操作系统的市场价格比较便宜,也能够在互联网上免费下载源码。可以说,Linux为架设既高效又安全的Web服务器的比较理想的操作系统。此外,要让Web服务器更具有优越的性能,可以根据服务器系统之特点与用途作进一步的优化与处理,尽量减少Web服务器的数据传输量以及降低其数据传输的频率,进而促进网络宽带的利用率与使用率,以及提高网络客户端的网页加载的速度,同时也可以减少Web服务器各种资源的消耗。

三、代理

代理就相当于中间商,本来A和B是可以直接连接的,但是此时添加了一个C在中间,A跟B不直接连接,而是通过C作为中介进行连接。

最常见的例子就是二手东,其实很多我们租房子时签约的人不是房子的真正房东,而是房东委托的中介,房东不想管事或者房子太多,只靠自己无法进行管理,所以才会通过中介(代理)进行处理,像蛋壳、自如这样的租房软件其实也是中介的一种,真正的房东是直接将房子委托给这样的第三方中介进行出租。


互联网中:一个完整的请求是由: client(客户端) -> proxy(代理) -> server(服务端) 组成。

1.代理的分类

  • 正向代理
  • 反向代理

正向代理 

正向代理:

顺着请求的方向进行的代理,即代理服务器它是由你配置为你服务,去请求目标服务器地址。

举例:

如我们现在想要访问谷歌,但是由于某些原因,无法直接访问到谷歌,我们可以通过连接一台代理服务器,代理服务将我们的请求提交到谷歌,然后再将谷歌的响应反馈给我们,对于谷歌而言,它只知道有一个请求过来,但是它并不会知道我们是无法直接访问它的。

正向代理的作用:
1. 访问原来无法访问的资源,如google

2. 可以做缓存,加速访问资源

3. 对客户端访问授权,上网进行认证

4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理

反向代理:

跟正向代理相反,它是为目标服务器进行服务的,但是请求的流程还是: client -> proxy -> server。

举例:

比如我们访问百度网站,百度的代理服务器对外的域名为 https://www.baidu.com 。具体内部的服务器节点我们不知道。现实中我们通过访问百度的代理服务器后,代理服务器给我们转发请求到他们N多的服务器节点中的一个给我们进行搜索后将结果返回,此时,代理服务器对我们客户端来说就充当了提供响应的服务器,但是对于目标服务器来说,它只是进行了一个请求和转发的功能。

反向代理的作用:
1. 保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。

2. 负载均衡,通过反向代理服务器来优化网站的负载。

两者的区别与联系

区别:

正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端.
反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端.

联系:

1、正向代理中,proxy和client同属一个LAN,对server透明;

2、反向代理中,proxy和server同属一个LAN,对client透明。

2.总结

事实上,正向代理和反向代理的作用都是进行请求和转发,但是为了区别正向代理,所以后出现的就成为反向代理。
生活中最常见的例子:

1、正向代理: 卖票的黄牛

2、反向代理: 出租房的二手东

猜你喜欢

转载自blog.csdn.net/weixin_62421736/article/details/131498734