编程难学其实编程很简单,跟着淼哥学全栈之路

核心提示好多小伙伴,一听到软件编程,就一直摇头!不行,不行。我学不了那玩应。太高深了。太难了。其实这就是电视剧闹的,看见那些黑客,在电脑上霹雳巴拉的敲打键盘,搞的那么高深莫测!让很多小伙伴想学软件都不敢迈出第一步!其实只要你耐心的坐下来学习了,学完

很多朋友,一听到软件编程就直摇头!不,不。我学不会弹。太深了。太难了。

其实这就是电视剧造成的。看到那些黑客在电脑上敲打霹雳的键盘是如此的深刻!让很多想学软件的朋友不敢迈出第一步!其实只要你耐心坐下来学习,学完也会有同感的!没有什么高深莫测的!

关键是明白原理才能学的更好!

今天,边肖将带你了解网络的一些原理。

为以后的学习打下坚实的基础。

让我们回忆一下昨天所学的内容。我们可以通过TCP/IP协议连接到世界上任何有网络的计算机。

那么TCP到底是什么?什么是IP?

IP互联网协议将消息从一个地方传输到另一个地方。

TCP控制协议用于确保传输信息的完整性。

新朋友可能会理解。IP协议主要负责消息的传输,而TCP负责保证数据的完整性。

我们每台电脑都会有IP地址设置。

那么互联网和TCP/IP有什么关系呢?

互联网到底是什么?

“互联网”的英文单词是“internet”。从字面上看,互联网是指将多个网络连接起来,形成一个更大的网络,所以互联网这个词就是互联网的意思。用路由器把两个以太网段连接起来就是互联网,把一个企业内部网络或者公司内部网络的各个部分与其他企业连接起来并实现相互通信的网络也是互联网。甚至一个地区的网络与另一个地区的网络连接起来,形成一个世界性的网络,也可以称之为互联网。

互联网的定义:互联网是指由阿帕网网络发展而来,在全球范围内互联的计算机网络。

与互联网TCP/IP的关系

互联网通信需要相应的网络协议。TCP/IP最初是为使用互联网而开发的协议族。所以互联网协议就是TCP/IP,TCP/IP就是互联网协议。

互联网的结构

互联网这个词的原意是“互联网”,意思是连接一个又一个网络。

那么互联网连接整个世界也是如此。比如办公网络把办公室连接起来形成内部网络,公司内部网络把整个区域网络连接起来形成区域网络,而各个区域的网络又互相连接起来形成世界性的网络。

每个网络由主干网络和末端网络组成,每个网络由NOC连接。如果网络运营商不同,其网络连接方式和使用方法也不同。这种异构网络需要IX的支持。

所以一般我们公司和家庭只需要和ISP签约申请入网即可。

了解互联网是通过TCP/IP接入的,了解互联网的概念和组成。

接下来说编程。

之前我们讲过软件的架构,分为B/S架构和C/S架构。

其实两者都属于客户端/服务器架构。我们平时用浏览器上网,浏览器就成了我们的客户端。当我们输入网址或点击链接时,服务器会给我们相应的响应。

只有B/S架构的客户端是浏览器,C/S架构的客户端是我们自己写的。

WWW是互联网普及的重要推动力。在鼠标和键盘的帮助下,用户可以很容易地在网络浏览器的软件中阅读在线信息。

用专业的方式,鼠标轻轻一按,远程服务器上设置的各种信息就会呈现在浏览器上。

该浏览器不仅可以显示文本、图片、动画等信息,还可以播放声音和运行程序。

用于浏览器和服务器之间通信的协议是HTTP。传输数据的主要格式是HTML。WWW中的HTTP属于上一篇文章中OSI应用层的协议,HTML属于表示层的协议。

在一种更流行的方式中,http协议用于传输。传输的内容是html,而我们看到的图片、文字、内容都是由浏览器来解读和显示的。

当我们上网时,当我们进入www.xxxx.com的网站时,我们按回车!这相当于向www.xxxx.com的这个网站发送请求。收到这个请求后,www.xxxx.com的这个网站会给你一个响应,我们可以查看浏览器渲染的html页面。

这里有些朋友可能会问。互联网不都是通过ip地址找服务器吗?

我们都知道,ip地址通常有两种,一种是ipv4,一种是ipv6。如果让你记住一长串数字的ip地址,你能记住吗?

反正我记不清了。相反,我们可以记住连字符的字符串,比如百度、淘宝。

简单一点。

这时候出现了一种叫DNS解析的技术。它是我们在www.xxxx.com的域名,被映射到一个特定的ip地址,这样你就可以通过域名访问你的ip地址电脑。

如何在电脑上查询具体的ip地址?

比如我们用cmd命令ping+域名来查询。

当然,非常大的网站都是服务器集群部署的。所以肯定有很多ip地址。

也可以使用nslookup+域名查询域名对应的ip地址。

通常,DNS解析需要DNS解析服务器进行解析。当然我们家路由也有DNS解析的功能。

从上图可以看出,DNS解析就是域名和IP地址的映射。

那么当我们输入网址的时候,浏览器是如何解析DNS的呢?

当我们在浏览器中输入域名,回车,第一件事就是DNS解析。

解析过程如下:

首先,我们的浏览器有DNS缓存。如果你用这个浏览器成功解析了域名,它会为他缓存域名。

以chrome浏览器为例。我们在浏览器的地址栏输入chrome://net-internal/# DNS,浏览器的DNS缓存就会显示出来。当然,你也可以查其他信息!

我们可以看到,仅app.toutiao.com的浏览器dns缓存就有许多ip地址。

如果找到结果,直接返回ip地址。如果没有,我们就进行第二步。

本地文件的DNS解析查询。

本地主机文件存储在目录中:C:WindowsSystem32driversetc。如果您想修改此文件,您需要是管理员。

目的:例如,我在自己的机器上安装了服务器。让浏览器访问一个不存在的域名来访问自己的机器,然后通过本地环回地址127.0.0.1访问自己的机器。

懂web编程的朋友都知道localhost可以访问自己的电脑。原理是在主机文件中把localHost映射到127.0.0.1来访问自己的电脑。

如果还是找不到,那就要看你的电脑有没有DNS服务器了。

以阿里巴巴的公共DNS为例

我们可以指定阿里巴巴的公共DNS解析服务器来解析。

路线分析

如果没有指定DNS解析服务器,到您局域网的路由通常具有DNS解析功能。

上级ISP的路由解析

如果还没找到,就去地区运营商ISP的路由解决。如果还没有找到它,它在下一个更高的级别,在顶级,并且仍然没有找到域名的解析,那么将返回404错误。

这就是整个DNS解析过程。

当我们将域名解析为ip地址时,我们需要向相应的计算机发出请求。

在发送请求之前,您需要建立一个连接来发送数据!

在数据连接发出之前,就是我们所说的三次握手!

三次握手

在TCP/IP协议中,TCP提供可靠的连接服务,使用三次握手来建立连接。

与A B建立TCP连接时:首先A向B发送SYN,然后B回复SYN+ACK,最后A回复ACK确认,这样就建立了TCP连接的过程!

握手的过程可能有点复杂。简单来说,A给B发信息“你是李小三吗?”B回复A“我是李小三”,A给B发信息“这是你的包裹,等一下。”

对于从事编程的人来说,我们不是从事联网的,所以这一步可以理解。

当我们建立数据连接时,我们会向服务器发送一个http协议请求的消息,服务器会返回一个http协议响应的消息。

浏览器收到了http协议的响应消息,根据消息中的内容html文档,渲染出我们看到的图形、音频、视频等信息。

边肖今天写到这里,明天继续分享。笔迹不合适。如果你觉得不错,请给边肖一个赞!谢谢您们。

如果你对php编程有什么疑问,可以私信我。我也有很多视频和大家分享!

 
友情链接
鄂ICP备19019357号-22