其他分享
首页 > 其他分享> > day38 软件开发架构-客户端

day38 软件开发架构-客户端

作者:互联网

day 37 网络编程

今日学习

软件开发架构

编写项目之前需要遵循的代码层面上的规范(代码运行的流程,环节,步骤)

架构发展趋势

发展趋势:统一接口原则

微信
	里面有很多小程序 可以直接体验其他服务
支付宝
	里面有恁多小程序 可以直接体验其他服务

后续就是csbs交错使用 避免各自的劣势!!! 比如抖音
ps:可以方便用户使用 更重要的是可以给自己圈用户便于后期收割


网络编程简介

基于互联网编写代码 程序可以实现远程数据交互
网络编程的本质是为了解决计算机之间远程数据交互
学习完网络编程之后 我们就可以编写一个c/s架构的软件
军事,美国军方 数据通讯
计算机直接想要实现远程数据交互,首要条件就是要有物理连接介质

网络相关名词





OSI七层模型

规定了计算机涉及到数据远程交互的时候 必须要经过的部件/流程
​ 所有的计算机在涉及到网络传输这块必须要有相同的零部件

osi七层模型 或者分为TCP/IP 五层 或者四层


image


image

七层协议的分层功能【从下到上】

物理层: 建立,维护,断开物理连接

数据链路层:建立逻辑链接,进行硬件地址寻址,差错校验等功能

网络层: 进行逻辑地址寻址,实现不同网络之间的路径选择

传输层: 定义传输协议端口号,流量控制和差错校验

会话层 建立,管理,中止会话

表示层: 数据的表示(文字,图片,mp4)安全,压缩

应用层: 网络服务与最终用户的一个接口


四层的传输特征 从下往上的顺序

数据发送出去的时候是从上往下走

数据接收回来的时候是从下往上走


域名解析过程

.浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束。

2.如果浏览器缓存中没有(专业点叫还没命中),浏览器会检查操作系统缓存中有没有对应的已解析过的结果。而操作系统也有一个域名解析的过程。在windows中可通过c盘里一个叫hosts的文件来设置,如果你在这里指定了一个域名对应的ip地址,那浏览器会首先使用这个ip地址。

但是这种操作系统级别的域名解析规程也被很多黑客利用,通过修改你的hosts文件里的内容把特定的域名解析到他指定的ip地址上,造成所谓的域名劫持。所以在windows7中将hosts文件设置成了readonly(只读),防止被恶意篡改。

3.如果至此还没有命中域名,才会真正的请求本地域名服务器(LDNS)来解析这个域名,这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了。

4.如果LDNS仍然没有命中,就直接跳到Root Server 域名服务器请求解析

5.根域名服务器返回给LDNS一个所查询域的主域名服务器(gTLD Server,国际顶尖域名服务器,如.com .cn .org等)地址

6.此时LDNS再发送请求给上一步返回的gTLD

7.接受请求的gTLD查找并返回这个域名对应的Name Server的地址,这个 Name Server就是网站注册的域名服务器

8. Name Server根据映射关系表找到目标ip,返回给LDNS

9.LDNS缓存这个域名和对应的ip

10.LDNS把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中, 域名解析过程至此结束

标签:架构,day38,软件开发,ip,域名,网络,地址,端口号,客户端
来源: https://www.cnblogs.com/zongliang-ya/p/16551152.html