前后台的网络数据传输

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
全局流量管理 GTM,标准版 1个月
简介: 主要是围绕浏览器的工作展开,包括浏览器处理用户的交互、发送网络请求、收到网络响应之后的处理与渲染等等

前端:

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

处理用户的交互

浏览器本身与用户的交互基本不涉及网络知识,但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查询原理)甚至包括常见的协议安全类知识

这部分内容相当繁琐复杂,但里面的各种基础知识是从事网络应用开发、网络运维、网络安全领域人员的必备知识

下面来说一说http请求的基本过程

首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范

连接

当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把域名变成ip,如果url里不包含端口号,则会使用该协议的默认端口号

DNS的过程:

我们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,如果能够找到相应的url则返回其ip,否则该DNS将继续将该解析请求发送给上级DNS,整个DNS可以看做是一个树状结构,该请求将一直发送到根直到得到结果。现在已经拥有了目标ip和端口号,这样我们就可以打开socket连接了

请求

连接成功建立后,开始向web服务器发送请求,这个请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:GET 路径/文件名 HTTP/1.0

文件名指出所访问的文件

HTTP/1.0指出Web浏览器使用的HTTP版本

现在可以发送GET命令:GET /mydir/index.html HTTP/1.0

应答

web服务器收到这个请求,进行处理。从它的文档空间中搜索子目录mydir的文件index.html。如果找到该文件,Web服务器把该文件内容传送给相应的Web浏览器

为了告知浏览器,Web服务器首先传送一些HTTP头信息,然后传送具体内容(即HTTP体信息),HTTP头信息和HTTP体信息之间用一个空行分开

常用的HTTP头信息有:

  1. HTTP 1.0 200 OK  这是Web服务器应答的第一行,列出服务器正在运行的HTTP版本号和应答代码。代码"200 OK"表示请求完成
  2. MIME_Version:1.0 它指示MIME类型的版本
  3. content_type:类型 这个头信息非常重要,它指示HTTP体信息的MIME类型。如:content_type:text/html指示传送的数据是HTML文档
  4. content_length:长度值 它指示HTTP体信息的长度(字节)

关闭连接

当应答结束后,Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
8月前
|
网络协议 Linux 网络安全
curl(http命令行工具):Linux下最强大的网络数据传输工具
curl(http命令行工具):Linux下最强大的网络数据传输工具
246 0
|
16天前
|
缓存 负载均衡 安全
Swift中的网络代理设置与数据传输
Swift中的网络代理设置与数据传输
|
2月前
|
存储 网络协议 物联网
C 语言物联网开发之网络通信与数据传输难题
本文探讨了C语言在物联网开发中遇到的网络通信与数据传输挑战,分析了常见问题并提出了优化策略,旨在提高数据传输效率和系统稳定性。
|
5月前
|
网络协议 安全 算法
"网络世界的守护者:一探究竟TCP协议如何确保数据传输的绝对安全与可靠"
【8月更文挑战第20天】传输控制协议(TCP)是网络通信中的核心协议之一,它确保数据包能可靠、有序地从源头传输到目的地。TCP采用三次握手的方式建立连接,并通过序列号、确认应答及超时重传来保障数据传输的准确性。此外,TCP还具备流量控制与拥塞控制功能,避免网络拥塞。虽然TCP在可靠性上表现优异,但在快速传输场景中可能存在局限。深入理解TCP对于网络工程师和开发者至关重要。
105 1
|
5月前
|
机器学习/深度学习 前端开发 数据挖掘
基于Python Django的房价数据分析平台,包括大屏和后台数据管理,有线性、向量机、梯度提升树、bp神经网络等模型
本文介绍了一个基于Python Django框架开发的房价数据分析平台,该平台集成了多种机器学习模型,包括线性回归、SVM、GBDT和BP神经网络,用于房价预测和市场分析,同时提供了前端大屏展示和后台数据管理功能。
135 9
|
6月前
|
网络协议 数据安全/隐私保护 Python
在通讯系统工程中,这通常包括硬件、软件、网络协议、数据传输等多个方面的设计和实现。
在通讯系统工程中,这通常包括硬件、软件、网络协议、数据传输等多个方面的设计和实现。
|
7月前
|
网络协议 安全 Unix
socat神器解密:网络数据传输的利器
socat神器解密:网络数据传输的利器
462 1
|
7月前
|
存储 网络协议 网络安全
逆向学习网络篇:数据传输和交换过程
逆向学习网络篇:数据传输和交换过程
68 0
|
8月前
|
XML JSON Linux
抓包神器Charles:解析网络数据传输的秘密
Charles是一款跨平台代理工具,支持SSL代理、流量控制和网络请求截取修改,适用于Mac、Windows和Linux。它提供自动格式化的JSON或XML数据查看,便于调试。安装可从官方网站或学社下载。软件界面包含菜单栏(File、Edit、View、Proxy、Tools)和主导航栏(Structure、Sequence)。左侧视图按域名或时间排序请求,右侧显示请求详情,如Overview、Content、Summary、Chart和Notes,方便分析和记录接口信息。
|
8月前
|
监控 JavaScript 数据安全/隐私保护
PON网络架构及数据传输方式
当前,光纤到户(FTTH)技术的领先方案是被称为PON的技术。这项技术最初主要用于为家庭和商业客户提供网络服务,但随着时间的推移,PON的应用范围已经扩展到大型企业园区(通过POL技术)乃至特定行业网络(F5G技术),成为一个迅猛发展的领域。
458 1

热门文章

最新文章