web服务器工作原理

web服务器工作原理,第1张

Step1:用户在地址栏输入一个网址,然后点击回车键;
Step2:浏览器与服务器建立TCP连接;
Step3:浏览器将用户的事件按照>

在>

正向代理要求客户端自己设置代理服务器的地址。客户的每次请求都将直接发送到该代理服务器,并由代理服务器来请求目标资源。比如处于防火墙内的局域网机器要访问Internet,或者要访问一些被屏蔽掉的国外网站,就需要使用正向代理服务器。

反向代理则被设置在服务器端,因而客户端无需进行任何设置。反向代理是指用代理服务器来接收Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从内部服务器上得到的结果返回给客户端。这种情况下,代理服务器对外就表现为一个真实的服务器。各大网站通常分区域设置了多个代理服务器,所以在不同的地方同一个域名可能得到不同的IP地址,因为这些IP地址实际上是代理服务器的IP地址。

>

如图所示,正向代理服务器和客户端主机处于同一个逻辑网络中。该逻辑网络可以是一个本地LAN,也可以是一个更大的网络。反向代理服务器和真正的Web服务器也位于同一个逻辑网络中,这通常由提供网站的公司来配置和管理。

透明代理只能设置在网关上。用户访问Internet的数据报必然都经过网关,如果在网关上设置代理,则该代理对用户来说显然是透明的。透明代理可以看作正向代理的一种特殊情况。

代理服务器通常还提供缓存目标资源的功能,这样用户下次访问同一资源时速度将很快。优秀的开源软件squid,varnish都是提供了缓存能力的代理服务器软件,其中squid支持所有代理方式,而varnish仅能用作反向代理。

DNS 介绍
DNS 由来
DNS 全名是 Domain Name System, 透过 DNS 系统, 我们可以由一部机器的 domain name 查其 IP, 也可以由机器的 IP 反查它的 domain name, 除此之外 DNS 还与 Mail System 结合, 提供 Mail routing 的功能
早期这个 domain name 与 IP 的对应表是记在每部机器的 /etc/host 这个档案, 当电脑个数不多还好, 但是电脑数目一多就会发生问题了, 主要有下列问题
1 Traffic & Load
2 Conflict
3 Consistency
因为用 hosts 记录 domain name <-> ip mapping 有上述问题, 所以后来发展出 DNS
Domain Name Space
整个 INTERNET 上的电脑如此众多, 如何保证两部电脑不会有相同的 domain name/IP 是一个很重要的问题 几个重要的观念如下
1 Domain (网域)
将整个 internet 分成许多 domain, 每个 domain 下又细分为许多 domain, 然后这些细分的 domain 视实际需求又再细分成许多 domain, 一直循环下去
基本上每个 domain 内的 mapping 由一部主机负责管理
top level domain - com, edu, gov, mil, net, org, int (现在又多出许多 top domain 了如 isp, art 等)
2 Delegation (授权)
刚才提到每个 domain 都可因实际需求再细分成许多 sub domain 上层的 domain 可以将其分出的某个 sub domain 的 domain name 与 IP mapping 交由另一部机器管理, 这个动作我们称之为 delegation
3Forward/Reverse(正解/反解)
在讲到 domain name <-> IP mapping, 其实应该看成两个命名空间:
一个是 domain name -> IP, 称之为 forward mapping, 在这个命名空间中就是先分成前面提到的那些 top domain, 再细分 sub domain, 再细分
比如说 winniecorphpcom -> 1516192152 代表在负责 corphpcom 这个 sub domain 的机器上, 可以查到其 mapping table 上有一笔记录是 winnie -> 1516192152
一个是 IP -> domain name 称为 reverse mapping 在这个命名空间中, 所有的 IP 组成一个叫作 arpain-addr 的 top domain, 然后再依 IP 层层细分
比如说 1516192152 -> winniecorphpcom 代表在负责 1921615in-addrarpa(注意是反过来写, 因为 top domain 要在最后面) 这个 sub domain 的机器上, 可以查到其 mapping table 上有一笔记录是 152 -> winniecophpcom
值得注意的是:
a 负责 forward mapping 和 reverse mapping 的机器不一定是同一部
负责 corphpcom domain 与负责 1921615in-addrarpa 的机器不一定是同一部机器, 即使在同一部机器, 如果不注意的话, 两边的内容可能也会有不 match 的情形
b domain 与 ip subnet 并没有一对一关系
举例而言成大电机的 domain 是 eenckuedutw, 但是因为成大电机内部机器数多的关系, 所用到的 IP subnet 有 14011672, 1401649, 140116163, 140116156, 140116227 共 5 组
Name Server
负责记录 forward/reverse mapping 的机器会执行一个叫 name server 的软体, 透过这个软体回应来自其它机器对 domain name 或 IP 的查询
1 zone & domain
上面提到基本上每个 domain交由一个机器来负责, 其实更精确地说应该是每个 zone 交由一个 name server 来负责, 所谓 zone 就是把一个 domain 扣掉分给下层负责的部份, 剩下来的就是 zone
2 Primary/Secondary
每个 zone 交由一部 name server负责的作法会有一个问题, 万一这个 name server 当掉, 可能造成 INTERNET 上其它机器无法取得属於这个 zone 的资料(就是 domain name 和 ip mapping) 为了避免这种情形, 我们可以把这个 zone 的资料同时交给多部 name server 负责原本的这部称为 primary name server, 其它的称为 secondary name server Secondary name server 会定期将 primary name server 上 zone 的资料拷贝一份下来备用
对於上层的 name server 而言, 它只是设定某个 zone 同时 delegate 给一部以上的下层 dns server, 但是它并不去分辨谁是真正的 primary, 谁是 secondary 它只是依据顺序寻问, 当第一部负责某个 zone 的 dns server 当掉时, 它会依序找下一个负责的 dns server
ps: primary/secondary 在新版 name server 程式中改称为 master/slave
Name Resolution (名称解析, 名称查询)
接下来我们介绍名称查询运作时一些重要名词或观念
1 Resolver
相当於是 DNS server 的 client 端, 通常是以函式库的方式被放在整套作业系统中, 各类的应用程式经由呼叫这个 resolver 函式库可以很容易地向 DNS server 进行查询, 得到所要的资料
2 Root Name Server
在查询资料时, 总是要有一个起点, 当一个 local DNS server 收到来自 client 端关於一个 domain name 的查询, 这个 local DNS server 怎麼知道这个 domain name 的相关资料是记录在 INTERNET 中的哪一个 DNS 上呢
答案是向 root name server 寻问 root name server 记录了各 top domain 分别是由哪些 DNS server 负责 比如说要找 >

高防服务器的防御原理

无论网站大小,多多少少都会被DDOS攻击和CC攻击的经历,应对流量攻击,很多人首先会想

高防服务器主要是指独立单个硬防防御50G 以上的服务器,可以为单个客户提供安全维护。

总的来说是属于服务器的一种,根据各个IDC机房的环境不同,有的提供有硬防,有使用软防。

从防御范围来看,高防服务器能够对SYN、UDP、ICMP、>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/13484745.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-16
下一篇 2023-08-16

发表评论

登录后才能评论

评论列表(0条)

保存