前端:从游览器输入url~

 

 https://www.nowcoder.com/exam/interview/detail?questionClassifyId=0&questionId=2412530&questionJobId=156&type=1

首先:服务器方启动监听服务,准备迎接客户端请求的到来;


 一、输入URL(统一资源定位器)

  在游览器中输入网址后,游览器会查看内部缓存。通过已下步骤:

  1.游览器缓存:游览器历史记录,书签等地方查找对应URL,有则返回,无则下一步;

  2.操作系统缓存:操作系统中也会有一个域名解析的过程,游览器会查看 本地硬盘 中的hosts文件,查找对应URL,有则返回,无则下一步;

  3.本地DNS缓存:应该也叫 路由器缓存(ISP),本地DNS服务器查看缓存记录,有则返回结果,无则向 DNS根服务器 进行查询;

  4.根DNS服务器:根服务器中没有记录具体的域名与IP关系,只会让本地DNS服务器到 域服务器上 继续查询,并给域服务器地址;

  (3.4两点为DNS查询的两种方式递归与迭代  DNS负载均衡?

  5.域服务器:本地DNS服务器继续向域服务器发出请求,请求的对象是.com域服务器。

    .com域服务器收到请求之后,也不会直接返回域名和IP地址的对应关系,而是告诉本地DNS服务器,所需的域名解析服务器的地址。

  6.域名的解析服务器:最后,本地DNS服务器向域名的解析服务器发出请求,这时就能收到一个域名和IP地址对应关系,

    本地DNS服务器不仅要把IP地址返回,还要把这个对应关系保存在缓存中,以备下次别的用户查询时,可以直接返回结果,加快网络访问。

 

二、游览器向服务器发送HTTP请求:

  在拿到域名对应的IP地址后,游览器会使用一个随机端口(1024,65535)向服务器的Web程序80端口发起TCP连接请求。(TCP三次握手和TCP四次挥手?)

  这个连接请求到达服务器后,进入到网卡,然后是进入到内核的TCP/IP协议栈,还有可能要经过防火墙的过滤,最终到达Web程序,最终建立起TCP/IP连接。

 

  在建立TCP连接后,客户端发起一个HTTP请求。(完整的HTTP请求过程

 

、服务器永久重定向响应:

  服务器给浏览器响应一个301永久重定向响应,这样浏览器就会访问“http://www.google.com/” 而非“http://google.com/”。

  1.为什么服务器一定要重定向而不是直接发送用户想看的网页内容呢?其中一个原因跟搜索引擎排名有关。

  如果一个页面有两个地址,就像http://www.yy.com/和http://yy.com/,搜索引擎会认为它们是两个网站,结果造成每个搜索链接都减少从而降低排名。

  而搜索引擎知道301永久重定向是什么意思,这样就会把访问带www的和不带www的地址归到同一个网站排名下。

  2.还有就是用不同的地址会造成缓存友好性变差,当一个页面有好几个名字时,它可能会在缓存里出现好几次。

  (扩展:301永久 和 302临时 的区别,重定向的原因,何时301何时302)

    

  页面重定向后,游览器通过服务器返回的地址,再次发送一个HTTP请求

 

四、服务器处理请求:

  后端从在固定的端口接收到TCP报文开始,它会对TCP连接进行处理,对HTTP协议进行解析,并按照报文格式进一步封装成HTTP Request对象,供上层使用。

  一些大一点的网站会请求到反向代理服务器中,因为当网站访问量非常大,网站会越来越慢,一台服务器已经不够用了。

  于是将同一个应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。

  此时,客户端不是直接通过HTTP协议访问某网站应用服务器,而是先请求到Nginx,Nginx再请求应用服务器,然后将结果返回给客户端,这里Nginx的作用是反向代理服务器

  同时也带来了一个好处,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。

  通过Nginx的反向代理,到达了web服务器,服务端脚本处理请求,访问数据库,获取需要获取的内容等等...

  

 

 

  客户端本来可以直接通过HTTP协议访问某网站应用服务器,网站管理员可以在中间加上一个Nginx,

  客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。

 

五、服务器返回一个HTTP响应 

  此文好像描述的更加细致:https://www.cnblogs.com/xiaohuochai/p/9193083.html(看不动了留着以后看

六、浏览器开始解析HTML文档

  这又是另一个故事了~~~

 

参考文章:

https://zhidao.baidu.com/question/437513187.html

https://www.cnblogs.com/549294286/p/5172435.html

 以及上面的链接

posted @ 2022-02-28 16:48  Du9191  阅读(184)  评论(0编辑  收藏  举报