网络知识汇总

1.TCP协议中三次握手,四次挥手?

三次握手:(1)客户端发送请求连接报文(SYN);

                (2)服务端接受连接后回复ACK报文,并为连接分配资源;

                (3)客户端接受ACK报文后也向服务端发送ACK报文,并分配资源;

一般是客户端先向服务器发送请求:

                第一次握手发送一个序列号;

                第二次握手的序列号是单独发送的,第二次握手的确认号是第一次握手序列号+1;

                第三次握手的序列号是第二次握手的确认号,第三次握手的确认号是是第二次握手的序列号+1;

四次挥手:

     客户端: (1)客户端给服务端发送一个FIN;(我要关了)

                  (2)服务端接收到FIN返回ACK报文;(等等,我还没准备好)

                  (3)服务端发送给客户端一个FIN(我准备好了);

                  (4)客户端接受FIN,并发送ACK报文(我断了);


网络知识汇总_第1张图片
网络知识汇总_第2张图片

总体梳理:从连接到断开的过程:

(1)客户端:发送SYN到服务端(2)服务端:接收SYN,返回ACK到客户端,为连接分配资源(3)客户端:接收ACK,也发送一个ACK给服务端,并分配资源;(4)客户端:发送一个FIN给服务端并计入等待状态1(5)服务端:接收FIN,发送一个ACK给客户端,进入等待状态2;(6)服务端:发送FIN给客户端;(7)客户端:接收FIN,给客户端发送一个ACK到服务端,服务端不发送任何消息,等待30S后客户端关闭;

TCP关闭的过程中:处于TIME_WAIT状态的连接等待2MSL后真正关闭连接;

2.输入一个网址后发生什么?

(1).在浏览器上输入一个网址;

(2).浏览器查找域名的IP地址;DNS查找过程如下:

      ~查看浏览器缓存,未果转下一步

      ~查看系统缓存(windows里是gethostbyname,由此获得系统缓存的记录)

      ~路由器缓存:前面的查询请求发送到路由器,一般会有路由器DNS缓存

      ~ISP DNS缓存:check ISP缓存DNS的服务器

       ~递归搜索:ISP 的DNS服务器从跟域名服务器开始进行递归搜索;

(3)浏览器给web服务器发送一个HTTP请求,通过GET方式

  GET  http://facebook.com/HTTP/1.1

            Accept: appliation/x-ms-application,image/jpeg,application/xaml+xml,[...]

            User-Agent: Mozilla/4.0(compatible;MSIE 8.0;Windows NT 6.1;WOW64;[...]);

            Accept-Encoding: gzip,deflate

            Connection: Keep-Alive     //要求服务器为了后面的请求不要关闭TCP连接

            Host: fackbook.com

            Cookie: datr=1265834934-[.....]

(4).web服务器的永久重定向响应301,web服务器发送给浏览器一个响应;

             HTTP/1.1 301 Moved Permanently

             Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0,

             pre-check=0

             Expires: Sat, 01 Jan 2000 00:00:00 GMT

             Location: http://www.facebook.com/

             P3P: CP="DSP LAW"

              Pragma: no-cache

               Set-Cookie: made_write_conn=deleted; expires=Thu, 12-Feb-2009 05:09:50 GMT;

               path=/; domain=.facebook.com; httponly

               Content-Type: text/html; charset=utf-8

               X-Cnection: close

               Date: Fri, 12 Feb 2010 05:09:51 GMT

               Content-Length: 0

             重定向和服务器的搜索引擎排名有关

(5)浏览器跟踪重定向地址,浏览器知道要访问的正确地址后会发送另一个获取请求:

          GET http://www.facebook.com/ HTTP/1.1

         Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...]

         Accept-Language: en-US

         User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...]

         Accept-Encoding: gzip, deflate

         Connection: Keep-Alive

         Cookie: lsd=XW[...]; c_user=21[...]; x-referer=[...]

         Host: www.facebook.com

        头信息以之前请求中的意义相同。

(6).服务器'处理'请求

          服务器接收到获取请求,然后处理并返回一个响应

(7).服务器发回一个HTML响应 200

        服务器生成并返回一个响应

         HTTP/1.1 200 OK

         Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0,

         pre-check=0

         Expires: Sat, 01 Jan 2000 00:00:00 GMT

         P3P: CP="DSP LAW"

         Pragma: no-cache

         Content-Encoding: gzip

         Content-Type: text/html; charset=utf-8

         X-Cnection: close

          Transfer-Encoding: chunked

          Date: Fri, 12 Feb 2010 09:05:55 GMT

          2b3Tn@[...]

(8). 浏览器开始显示HTML

(9). 浏览器发送获取嵌入在HTML中的对象

(10). 浏览器发送异步(AJAX)请求

3.浏览器的内核差异

trident(IE内核),兼容浏览模式

webkit(safari内核,chrome内核圆形);

gecko(ff)


presto(opera内核)

你可能感兴趣的:(网络知识汇总)