Net0

访问web服务的整个过程

This project is maintained by wangfakang

当在搜索框中输入map.baidu.com到响应的整个过程:

当在搜索框中输入map.baidu.com到响应的整个过程:

对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,
为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解 析以得到实际的IP地址;
在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得
用户能就近访问。   
ARP欺骗原理 我们先模拟一个环境: 网关:192.168.1.1 MAC地址:00:11:22:33:44:55 
欺骗主机A:192.168.1.100 MAC地址:00:11:22:33:44:66 被欺骗主机B:192.168.1.50 MAC地址:
00:11:22:33:44:77 欺骗主机A不停的发送ARP应答包给网关,告诉网关他是192.168.1.50主机B,这
样网关就相信欺骗主机,并且在网关的ARP缓存表里就有 192.168.1.50 对应的MAC就是欺骗主机A的
MAC地址00:11:22:33:44:66,网关真正发给主机B的流量就转发给主机A;另外主机A同时不停的向主
机B发 送ARP请求,主机B相信主机A为网关,在主机B的缓存表里有一条记录为192.168.1.1对应
00:11:22:33:44:66,这样主机B真正 发送给网关的数据流量就会转发到主机A;等于说主机A和网关
之间的通讯就经过了主机A,主机A作为了一个中间人在彼此之间进行转发,这就是ARP欺骗。
     第一次首先发送一个SYN同步报文给对方,此时当服务器端收到SYN报文的时候服务器就回应
     一个ACK/syn报文,最后客户端在此向服务器端回应一个ACK报文 才完成了整个三次握手过程。    
     SYN Flood技术就是利用第二次握手的时候,由于在第二次握手的时候服务器端会去为该来分配
    一个TCB资源,用于记录该半打开链接。(当server回应了SYN/ACK的时候在client端也会分配一
    个TCB资源,只有当一个连接超时了才会去删除的,所以只要攻击端发送SYN报文的速度快于超时时
    间就可以耗尽server端的资源。正是利用这种不平等的关系进行攻击的)        
      每个worker进程都是从master进程fork过来,在master进程里面,先建立好需要listen的socket(listenfd)
      之后, 然后再fork出多个worker进程。所有worker进程的listenfd会在新连接到来时变得可读,为保证只有一
      个进程处理该连接,所有worker进程在注册listenfd读事件前抢accept_mutex,抢到互斥锁的那个进程注册
      listenfd读事件,在读事件里调用 accept接受该连接。当一个worker进程在accept这个连接之后,就开始读取
      请求,解析请求,处理请求,产生数据后,再返回给客户端,最后才 断开连接,这样一个完整的请求就是这样
      的了。我们可以看到,一个请求,完全由worker进程来处理,而且只在一个worker进程中处理。
对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览
器需要再次对获得的CNAME域名进行解 析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根\
据地理位置信息解析对应的IP地址,使得用户能就近访问。

到这里为止相关处理过程就完了.

Http请求返回状态码:  

1xx 代表请求已被接受,需要继续处理.        

2xx 代表请求已成功被服务器接收、理解、并接受.

3xx 这类状态码代表需要客户端采取进一步的操作才能完成请求.

4xx 代表了客户端看起来可能发生了错误,妨碍了服务器的处理.

5xx 代表了服务器在处理请求的过程中有错误或者异常状态发生, 无法完成请求.

相关字段的含义: 

 

欢迎一起交流学习

在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

Thx

Author