前端:
主要是围绕浏览器的工作展开,包括浏览器处理用户的交互、发送网络请求、收到网络响应之后的处理与渲染等等。

  • 第一块“处理用户的交互”,浏览器本身与用户的交互基本不涉及网络知识,但Web前端UI的设计与实现是一个前端研发攻城狮必须掌握的(主要是JS相关);
  • 第二块“发送网络请求”。最普通的就是图中问题“从地址栏输入URL开始……”,主要涉及用户端浏览器、操作系统的网络模块的相关处理。如@傅里叶变黄油猫 所说,浏览器会对URL进行检查、分析,涉及URL合法性、URL对应的协议(最常见的时HTTP协议,也是部分浏览器的默认网络协议);如果URL合法,接下来会检查URL中HOST是一个域名(Domain)还是一个IP地址;如果是IP地址,会直接发送请求,否则会查看系统本地的HOSTS文件有没有相应的配置,没有的话会启用DNS协议查询域名对应的IP地址;发送出请求,浏览器的工作暂时结束,网络请求交由操作系统处理,值得注意的是,如果是新入网机器或者局域网刚从网络故障中恢复,操作系统还可能动用ARP协议获取到出口路由的MAC地址,以便把数据包交给路由器,并有路由器转发到外网;操作系统协议栈对网络请求数据包的解析与处理是另一方面内容(主要涉及不同网络层次的不同网络协议,后面说);
  • 第三块处理网络响应与渲染。这是传统前端工程师必须掌握的知识,资源型的网络响应(比如DOC文档、ZIP压缩包文档)浏览器会智能地处理下载事宜;如果相应内容是可渲染的纯文本,就交由前端程序以合理的布局“铺”到页面中;而页面代码(HTML/CSS)的解析与现实则由浏览器的渲染引擎实现,不同浏览器渲染引擎的策略可能不同,会有一些需要注意的地方,前端工程师也会掌握这部分知识。

后台:
主要涉及Web服务器(不是大刀片那种的“硬件服务器”)对网络请求的处理。可以直观认为Web服务器就是接受并处理浏览器发送的某些协议的网络请求、并把对应处理结果返回给用户端浏览器的网络应用程序。主流Web服务器有Apache/IIS/Nginx/Tomcat(不同的Web服务器程序与不同的后台脚本程序语言或者技术配套处理网络请求,比如Tomcat主要与JSP语言配套,微软的IIS主要与ASP/ASPX技术配套结合);Web服务器通常可以接受静态请求并直接返回静态内容,但遇到动态内容的请求(目前Web应用大多数动态的),Web服务器就要把请求委托给各种语言和技术开发的“Web后台程序”,由后台程序处理动态请求,再把处理后的结果(响应内容)交给Web服务器,最后Web服务器会把响应通过互联网返回给用户端浏览器。这方面再细节的话主要就是后台程序的架构、开发、优化技术了,此处不详说。

网络数据传输:
个人认为这方面的知识才是图中问题考察的主要部分。这方面的知识从整体到细节,会涉及:

  • 互联网层次体系的划分(如理想的OSI的七层模型和实用的TCP/IP四层网络模型),每个层次里包含的主要的网络协议,路由原理等等;
  • 互联网按各种标准的划分,比如按照网络规模和地域关系划分为局域网、城域网、广域网;按照网络拓扑结构分为总线型、树状网络、网状、分布式等等,更细节的会有各种被划分的子类中一些技术,比如私有地址与公网地址转换的NAT(Network Address Translation,网络地址转换)技术;
  • 互联网不同层次里的不同协议的各种细节(数据包结构、运行策略比如TCP协议的三次握手和拥塞避免、滑动窗口、IP地址划分、DNS查询原理)甚至包括常见的协议安全类知识。

这部分内容相当繁琐复杂,但里面的各种基础知识是从事网络应用开发、网络运维、网络安全领域人员的必备知识,每逢面试,总会反复提及,面试官会以各种姿势提问,防不胜防。

前端、后台和连接前端后台的网络数据传输相关推荐

  1. 前端请求,后台http 连接输出流交给ServeletResponse 下载文件

    后台代码: @RequestMapping(value = "/download", method = RequestMethod.GET)public void download ...

  2. element ui 前台模板_SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(二):引入 element-ui 定义基本页面显示...

    前提: (1) 相关博文地址: SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(一):搭建基本环境:https://www.cnblogs.com/l-y ...

  3. 开发SpringBoot+Jwt+Vue的前后端分离后台管理系统VueAdmin - 前端笔记

    1. 前言 而接下来,我们即将开发一个前后端分离的后台管理系统VueAdmin.权限框架采用spring security,然后相对来说权限模块开发就多点代码,也仅此而已了.对了前端的系统界面也是我们 ...

  4. thinkphp后台管理系统+vue前端H5 app

    thinkphp后台管理系统+vue前端H5 app 众包接单型App 全部源码已发布,欢迎star, 移步码云 前言 1.帮朋友做的一个接单类型的后台管理系统(朋友的需求是淘宝好评刷管理) 2.目前 ...

  5. app前后台交互php_PHP丨前端网页是怎么跟后台进行数据交互的(实战)

    本期需要用到的前面几期所讲过的内容: 这里是 PHP 网站开发的第三个阶段,也就是前端 HTML 及 CSS 所制作的网页是如何跟 PHP 后台代码进行交互的. 向后台提交数据 前端网页代码: 留言本 ...

  6. springboot后台怎么获取前端传过来的excel_开源商城系统包含后台管理和手机端

    此开源项目是一个基于Spring Boot和Vue.js的web商城系统 包含了商城的后台管理系统 提供了手机端的商城系统 小程序版开发中 app版(基于Flutter)开发中 功能模块 包含了后台管 ...

  7. springboot前端传参date类型后台处理方式

    springboot前端传参date类型后台处理方式 先说结论:建议大家直接使用@JsonFormat,原因如下: 1.针对json格式:在配置文件中加以下配置 spring.jackson.date ...

  8. 电信物联网开放平台_NB-IoT业务对接 Java 后台、Android 前端已完成预研

    电信物联网开放平台_NB-IoT业务对接 Java 后台.Android 前端已完成预研 一.NB-IoT : 硬件设备 BC28模组 二.Java 后台: SSH集成电信物联SDK.极光推送SDK. ...

  9. java前端显示统计报表数据_java实现后台数据显示在前端

    java实现后台数据显示在前端 发布时间:2020-09-07 15:16:09 来源:脚本之家 阅读:98 作者:沿途不枉少年 本篇使用servlet +.ajax( )的技术,实现简单的前后台的交 ...

最新文章

  1. 用了3年Apollo,这次我选择了Nacos,原因不多说了
  2. 洛谷 P1865 A % B Problem[筛素数/前缀和思想/区间质数个数]
  3. Linux C编程--进程介绍3--进程终止和等待
  4. Android移动开发之【Android实战项目】DAY11-App实现截图分享qq,微信
  5. XCode4.3.3 + iOS5.1 无证书开发并生成app、ipa文件
  6. cogs 1456. [UVa 10881,Piotr's Ants]蚂蚁
  7. [转]第(前)k大数问题
  8. ASP.NET MVC 在控制器中获取某个视图动态的HTML代码
  9. 【Docker】docker bash: sudo: command not found
  10. DXUT实战1:CG+D3D9+DXUT(june_2010)
  11. 《深入理解TypeScript》读后感一篇【基础篇】
  12. 什么是持续集成(CI)/持续部署(CD)?
  13. 设计模式(一)面向对象设计原则
  14. 掌管大局的IoC Service Provider
  15. Java工作流有哪些?如何快速掌握Java技术
  16. ehvierwer登录与不登录_【更新】亿寻—免登录不限速下载百度网盘
  17. 廖雪峰python实战(一)
  18. 大一下暑假留校训练记录
  19. GBase8s数据库GET DIAGNOSTICS 语句
  20. 2021年施工员-设备方向-岗位技能(施工员)考试试卷及施工员-设备方向-岗位技能(施工员)证考试

热门文章

  1. python反转列表解析_Python语法糖之:列表解析、集合解析和字典解析
  2. 把人工智能、机器学习、深度学习串一串,串一个同心圆
  3. shell export 作用
  4. tomcat运行指定JDK,不运行环境变量配置的JDK
  5. java em算法_python em算法的实现
  6. 华为P50E全方位曝光:延续P50设计 换装骁龙778G 4G芯片
  7. 索尼入局电动汽车市场 宣布成立移动出行公司
  8. 罗永浩将重返高科技行业创业 将涉足AR/VR/MR领域
  9. 被薅秃了!元气森林:损失近千万元 将为14.05万下单用户每人寄一箱白桃气泡水...
  10. 最新数据:中国网民超10亿,中老年群体增速最快