经典软件开发面试题:浏览器中输入一个网址后发生了什么?

大家好, 这一期呢,我们来谈一个经典的面试题。这种题目是在浏览器中输入一个网址以后, 会显示一个网页,这期间到底发生了什么? 答案要求说的越详细越好。

好,现在我们就来说一下这个问题。

第1步用户输入网址,按回车以后,浏览器首先要解析出域名, 域名出来以后就进入下一步。

第2步就进入查找IP地址的阶段, 首先要在本机的缓存里查找, 如果找不到,就向临近的DNS服务器查找, 如果还是找不到,就发送请求到下一级的DNS服务器, 直到找到这个网址的对应IP地址为止。如果找不到,当然就返回错误。如果找到了,就会回溯返回IP地址与域名的对应信息, 途经的DNS服务器都要自动更新本机的映射列表。拿到域名对应的IP地址以后,进入第3步。

第3步就是向IP地址对应的服务器发送请求,比如说我们这种请求是Get方法,服务器收到请求以后,如果这个服务器的背后有多个服务,也就是说有可能是来自多个端口或者多台主机,那么外层服务器的任务就是根据路径来匹配相关的端口或主机,找到对应的端口或主机以后,传递过来的请求信息,继续传送到目的地端口或者主机上,不管是端口,还是主机,都会对应一个服务器程序来处理这些请求, 这些服务器就会在己端对应路径和方法,从而查找匹配对应的回调函数。找到回调函数以后,进入下面的第4步。

第4步在回调函数中,我们会主要处理两个参数,一个是请求参数,一个是回应参数, 我们使用请求参数来查找发送这个请求的用户相关的验证信息来验证用户的请求是否合法,如果不合法,当然就直接退回并返回相关的状态代码401或者403。

如果请求可以继续,那么我们就查找在请求头里面是否存在其他的信息,以及请求参数等信息, 有了这些信息以后我们就可以去计算我们的数据出来, 我们拿到数据以后,就用回应参数,把这些数据写进去。下面我们进入第5步了。

第5步,浏览器收到服务器返回的数据以后。对这些数据进行解析显示

以上是我个人对这个话题一点看法。仅供参考,欢迎讨论。

c++软件开发面试旋极面试题_经典软件开发面试题:浏览器中输入一个网址后发生了什么?...相关推荐

  1. c++软件开发面试旋极面试题_腾讯软件开发面试题(有详细解答)

    我大学的时候,就有些博客的习惯.今天翻回去看之前写的博客,觉得有些幼稚,也有些惊喜.比如17 年初写的腾讯软件开发面试题还挺多人阅读评论的,这是我意想不到的,今天也整理一下,发出来给大家看下. 1.已 ...

  2. c++软件开发面试旋极面试题_c++开发程序员面试拼多多面试题整理(含答案)

    题很多,先上题后上答案,便于大家思考. 一.拼多多服务端实习岗位面试 1. 一个C++源文件从文本到可执行文件经历的过程 2.#include 的顺序以及尖叫括号和双引号的区别 3.进程和线程,为什么 ...

  3. c++软件开发面试旋极面试题_北京旋极信息技术股份有限公司2015招聘

    一.公司简介 北京旋极信息技术股份有限公司始创于1997年11月,是国内领先的嵌入式系统整体解决方案服务商.公司总部设在北京中关村高科技园区,在上海.深圳.成都.西安.香港.杭州等地设有几十家子公司和 ...

  4. 金九银十面试怒拿6个offer——测试开发面试题整理

    金九银十面试怒拿6个offer--测试开发面试题整理 1.软件测试的流程是什么? 2.测试用例主要有哪些元素? 3.软件测试有什么策略和阶段? 4.黑盒测试和白盒测试是什么?二者有什么区别? 5.软件 ...

  5. 吊打面试官系列之:常见测试开发面试题汇总,在面试的路上,总要先下手为强。

    测试开发面试题汇总 1.引言 2.热身题 3.理论基础 4.管理技能 5.服务端 7.移动APP 7.1 理论 7.2 实践 8.自动化测试 9.工具使用 10.算法 11.SQL 12.Linux ...

  6. 100道经典测试开发面试题,从基础到进阶(1)

    1.你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库进行备案. 然后,要获取判断的依据和标准: 根绝需求说明书,产品说明.设计文档等,确认实 ...

  7. 经典面试:当你输入一个网址后回车,实际会发生什么?

    作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等. 本文将更深入的研究当你输入一个网址 ...

  8. 最全软件开发面试问题总结(根据cyc大佬目录整理)【中】

    问题整理自cyc大佬的专栏. 推荐付费阅读他的其他文章,很有收获.另外大佬的GitHub内容也非常有用. 部分答案整理自网络,点击蓝字可以查看原链接.蓝字都是可以点进去的. 上一篇整理了操作系统及Li ...

  9. 头条面试官:在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?

    本题为头条校招测开经典面试题,如果你去看过头条面经合集,会发现3次面试里至少出现有1次,也是非常基础的一个知识点. 好了,不说废话. 先上答案,一共6个步骤: DNS解析 TCP连接 发送http请求 ...

最新文章

  1. 全面梳理关系型数据库和 NoSQL 的使用情景
  2. GZFramwork快速开发框架演练之会员系统(四)添加商品管理
  3. 从输入URL到页面加载完成的过程中都发生了什么事情?
  4. 实验3-2 计算符号函数的值 (10 分)
  5. paip.c#.net 多线程调用控件的问题
  6. Java编程工具之 word转pdf
  7. 计算机房里的UPS的作用,机房监控Ups的作用?
  8. 清除微信或者企业微信的缓存或cookie
  9. 如何将pdf转换成jpg图片格式
  10. IDM模式是存储器产业最佳选择?
  11. ir2110驱动占空比不能太高
  12. 生鲜o2o配送开源系统,包括Android源码+SSH后台管理系统
  13. 跨平台Brave浏览器(一百零三)
  14. “秋天的第一杯奶茶”突然刷屏!这是什么新梗?
  15. 项目管理:怎样做需求分析(二)
  16. 求Jordan标准型
  17. 新能源储能仪表推荐-ACR10R-D16TE4 防逆流仪表通讯接线及Modbus-RTU协议通讯表说明
  18. U盘出现RAW问题时的数据恢复
  19. 「面试」给金融科技安排明白了
  20. 转百度前辈的Trados使用心得

热门文章

  1. Spring Security 中最流行的权限管理模型!
  2. 3种 Springboot 全局时间格式化方式,别再写重复代码了
  3. Java是如何实现自己的SPI机制的? JDK源码(一)
  4. 《Java EE企业级应用开发》,《分布式爬虫》等书包邮送50本!企业开发利器!...
  5. 为什么每家公司都需要协作工具?
  6. 云原生架构演进与企业上云
  7. ubuntu16.04安装opencv3.4.1教程
  8. 串口与COM口 USB口、TTL、RS-232、RS-485区别 释疑
  9. System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid) 问题解决方法
  10. python 操作word页眉表格_python批量设置多个Excel文件页眉页脚的脚本