文主要目的也是为了非科班前端补充计算机科班基础知识,比如你要做node开发,不熟悉数据如何在网络中传输的话,理解很多API会比较疑惑,那接下来,来看看这篇为你精心准备的文章吧!
这些内容其实比较枯燥,但我采取图文并茂的形式,并且对于不重要的知识会标注,尽量减少阅读的枯燥感。啥也不说了,喝口水,开撸!
计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
这里需要注意的是,按分布范围,计算机网络里有局域网LAN和广域网WAN, 其中局域网的代表以太网,以及这两种网络最重要的区分点,局域网基于广播技术,广域网基于分组交换技术。(这些概念听一下就行,后面会详细介绍,因为理解广播和分组交换技术,大体上就理解了局域网和广域网)
这些内容主要是为了学习后面具体的协议,以及分析这些协议的报文时,需要掌握的基本概念。
速率就是数据传输(数据是指0和1)的速率,比如你用迅雷下载,1兆每秒,来衡量目前数据传输的快慢。它是计算机网络中最重要的一个性能指标。
在计算机网络中,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量,比如说你家的电信网络是100兆比特,意思是,一秒内最大的传输速率是100兆比特。
吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
以上三点,我们举个案例
时延是指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。单位是s。 时延分一下几种:
(1)发送时延
就是说我跟你说话,从我开始说,到说话结束这段时间,就是发送时延。
(2)传播时延
如gif图所示,信道上第一个比特开始,到最后一个比特达到主机接口需要的时间就是传播时延。
(3)排队时延
(4)处理时延
路由器或主机在收到数据包时,要花费一定时间进行处理,例如分析数据包的首部、进行首部差错检验,查找路由表为数据包选定准发接口,这就产生了处理时延。
(5)往返时间(RTT)
在计算机网络中,往返时间也是一个重要的性能指标,它表示从发送方发送数据开始,到发送方收到来自接收方的确认(接受方收到数据后便立即发送确认)总共经历的时间
(6)时延带宽积
是指传播时延乘以带宽
OSI参考模型是网络互连的七层框架, 这里不详细介绍了,每一层的具体内容会在后面介绍,这里只需要有一个初步的印象。
如下图所示,1,2,3层主要是是物理链路组成的,比如光纤,路由器,集线器,主要负责的是数据通信。5,6,7层是软件控制的,比如http协议,是一种软件层面控制的协议,主要负责处理传输来的数据。
对于物理层,有人会说,这不就是网线吗,比如家里连接路由器的网线,电线杆上的光纤?其实不然,物理层更多的是规定一种标准,他并不管物理介质具体是什么,比如电线杆上是光纤还是双绞线,只要你能按物理层规定的标准传输数据就行。
那物理层到底有哪些主要任务呢?
为什么需要中继器呢?
因为再线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。
中继器可以对信号进行再生和还原,增加信号的传输距离。
需要注意的是,中继器两端连接不同的网段,而不是子网。什么叫不同的网段呢,需要在网络层学习IP分类之后才能够理解这个概念,这里简单的理解为,不同的网段就是不同路由器连接的网络。
你能看完上面这么多概念也真是不容易,喝口水,咋们继续!
接下来我们进入下一层,数据链路层!
我们用一个小故事来举例
(1) 封装成帧 数据链路层并不是无脑转发boss的信息,她要把文件编号封装一下。封装的网络数据包,在链路层就叫数据帧。
(2)透明传输
透明传输是指不管boss下达的任何信息,比如文件里有裁掉这个秘书的信息,秘书都要原原本本的传输。帧的数据部分可能有跟帧首部完全一样的字符,这时候就要采取一定的措施,让接受方不要被被误导,能让接收方知道哪些是帧的首部哪些是帧的数据。这个问题有没有类似js的转义字符的问题,比如字符串<div>到底是指div标签呢,还是div字符串呢?
(3)差错控制
差错控制是在文件送到B公司小秘书手里的时候,快递包上写着5个文件,秘书一看只有3个文件,就会让傻傻重新发送有没有送到的文件。差错控制的方法有CRC循环冗余码,这个就不细讲了,我自己也不甚了解,只知道链路层的帧,会有一个FCS位留给这个码,用来判断一个帧是否出错。
(4)差错纠正
差错纠正是链路层知道1,2,3,4,5个文件,丢失的两个文件到底是哪两个,并且能通过重新发送没有的文件来纠正。
还有一些是故事里没有提到的数据链路层的功能,比如:
(5)流量控制 比如说发送方发送速度特别快,接收方接收速度特别慢,会造成传输出错。
这里需要注意的是,传输层TCP也有流量控制功能,区别在于TCP是端到端的流量控制,链路层是点到点(比如一个路由器到下一个路由器)
流量控制的方法有滑动窗口协议,以及选择重传协议,这两个留在讲TCP的时候讲。接下来讲一下以太网,以太网是目前最常见的局域网技术。对于我们理解局域网比较有帮助。
以太网是一种局域网技术,其规定了访问控制方法、传输控制协议、网络拓扑结构、传输速率等,完成数据链路层和物理层的一些内容,它采用一种称作CSMA/CD的媒体接入方法(后面会介绍),另外的一些局域网技术,比如无线局域网等。
跟以太网相关的拓扑结构有星型和总线型。
星型拓扑如下:
总线型拓扑如下:
互联网初期,以太网的总线型拓扑比较普遍。随着总线型以太网上的站点数目增多,可靠性也会随之下降,而随着大规模集成电路以及专门芯片的发展,使得星型以太网变得便宜又可靠。
需要注意的是,以太网虽然物理上是星型拓扑,但逻辑上是总线型。
计算机传出的数据,经过网卡,就会变为以太网的帧,还会完成一些链路管理(CDMA/CD的实现),以及编码和译码(编码译码我不太理解。。。好像是曼彻斯特编码,规定如何表示高低电平)。
无线局域网WLAN是利用无线电波、激光和红外线等无线通信技术来构建的局域网。
无线局域网我们只介绍一下典型的网络结构。
因为这个协议是以太网所使用的,所以我们只需要记住一些特点就行了。
(1)网桥
网桥根据MAC帧的目的地址进行转发和过滤。当网桥收到一个帧时,并不会向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个口,或者是把它丢弃。
这里需要注意的是,网桥连接的是不同的网段,网段是什么呢,我这里简单介绍一下,具体要到讲IP地址的时候细说,同一网段指的是IP地址和子网掩码(讲ip地址的时候会细讲)相与得到相同的网络地址。
(2)以太网交换机
谈到交换机,就不得不提两个概念,冲突域和广播域
举个例子,公司里大家的电脑一般都是连接到交换机上,因为交换机可以隔离冲突域,冲突域的最大问题在于,同一时间只能有一台机器传输数据,公司那么多人,如果这样的话,传输数据速度太慢了。然后交换机再连接到路由器上,首先路由器能隔离广播域,其次不经过路由器,你的数据链路层上的包没办法进入到互联网里面去`,路由器是网络层的设备。
兄弟,能看完上面内容,你也真够能忍的,牛B,喝口水!继续!
概念走一走,看一看,瞄一眼就行啦!
网络层主要任务是将分组(分组的概念是大多数计算机网络都不能连续地传送任意长的数据,所以实际上网络系统把数据分割成小块,然后逐块地发动,这种小块就称作分组)从一台主机移动到另一台主机,从而提供了主机到主机的通信服务和各种形式的进程到进程的通信。
当主机H1要向另一主机H2发送数据(报文)时,首先将数据划分成若干个等长的分组,然后将这些分组一个接一个地发往里与H1相联的路由A ,当A接到分组后,先放入缓冲区,再按一定的路由算法确定该分组下一步将发注哪个结点,如此一个结点一个结点传递,直到最终目的H2。
这一段话比较啰嗦,简单来说分组就是分数据块,同时还具有无需建立连接,存储转发(存储转发是指以太网交换机的控制器先将输入端口到来的数据包缓存起来,先检查数据包是否正确,并过滤掉冲突包错误),动态分配路线(交换设备会根据网络状况选择不同的路线,比如路由器)的优点。
数据报是通过网络传输的数据的基本单元,包含一个报头(header)和数据本身。说白了,就是带地址的数据,比如你的写了一句微信"你好",这串文字本上加上源地址,目的地址,就是数据报。
为什么要分片呢?
链路层数据帧封装的数据大小是有限制的,以太网的MTU(MTU是指一种通信协议的某一层上面所能通过的最大数据包大小)是1500字节。
接下来我们就看看在ip数据包上,哪些字段标识了分片的数据呢?
ip地址有5种
这里需要注意的是,你发没发现,为什么我们前端启动webpack测试环境的时候,一般地址都是192.168.*.*(* 是指0-255的数字); 在公司和家里都是这个网段,不是很奇怪吗,你家里的网段怎么和公司一样呢?
其实是因为有一部分叫私有IP地址,是不能拿到网络上跟别的计算机通信的。只能是局域网自己内部用。比如说有:
可以看到,C类私有地址就是192.168网段,每个局域网都可以有这些私有IP。
还有一些特殊地址,需要了解
注意,这里的全1是指,ipv4地址由4个字节组成,每一个字节是8位,8位全一就是十进制的255, 即255.255.255.255。
在ip地址分类里面,我们知道私有ip地址是不能跟外网交互的,在小公司大多数计算机的地址都是192.168网段,都是私有ip地址,它是怎么跟外网交互数据的呢,这里就引出来一个知识点叫网络地址转换NAT。
如上图所示,192.168.0.3,192.168.0.4都是私有网段上的,它们无法跟外网通信,这个时候由于路由器安装了NAT软件,就可以将自己的ip地址,即路由器的ip地址172.38.1.5作为内网的代理,去访问外网,外网返回来的数据,经过路由转换,转换成内网的192.168网段的私有地址。
首先要明白,为什么要划分子网?
首先大家要知道: 总体来说,划分子网不但没有增加可用IP地址,而且减少了可用IP地址,因为每个子网中的全0网络地址和全1广播地址均不能作为主机ip来使用。
为什么划分子网:
接下来,我们看看子网划分
如上图右侧,我们将145.13.0.0这个网段划分了三个子网,其中一个是145.13.3.0,一个是145.13.21.0,问题来了,如果一个网络包来了,网络包要交给的ip地址是145.13.3.10,我们怎么知道给哪个子网呢?
方法是将目的包的ip地址,跟子网的子网掩码相与预算(二进制与预算规则是,1跟1得1,其它为0),也就是目的地址145.13.3.10跟子网145.13.3.0的子网掩码255.255.255.0的与预算,得到的结果是145.13.3.0,所以发送到的子网就是145.13.3.0。
这里有人会问什么是子网掩码,子网掩码的格式跟IP是一样的,0,0,0,0 到 255.255.255.255,主要是帮助我们划分子网的,了解到这里对我们前端就够了。
为什么需要ARP协议呢?
我们简单回顾一下以太网的帧的格式
上图有一个源地址和目的地址,这两个地址都是指的mac地址,mac地址是什么呢?简单说来就是两台相邻的路由器A和B,A怎么把数据传给B呢,它总要知道B的物理地址吧,物理地址就像门牌号一样,我要知道你住在哪里,才能把数据送过去吧?
首先你肯定知道自己的mac地址是多少,因为在网卡上有,问题在于,别人的mac地址是多少?ARP协议就是来帮你找mac地址的。
接着我们说一下ARP协议的过程(比较官方的介绍,看不懂可以略过):
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段lP地址范围,客户机登录服务器时就可以自动获得服务器分配的lP地址和子网掩码。说白了,当你接入局域网的时候,自动由这个dhcp服务器给你分配ip,windows用户可能知道网卡配置里面,由自动获取ip的功能,如果路由器提供DHCP服务,你就会自动获取随机分配的ip。
路由器里可以开启这个服务。
大致工作过程(了解即可)
ICMP协议是一个网络层协议。 为什么我们需要ICMP协议呢?
一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。
所以我们就需要一种协议来完成这样的功能–ICMP协议。
ICMP协议的功能主要有:
主机H2收到主机H1的一个UDP包,结果H2发现这个包里的端口没有被监听,这时候就回复给H2一个ICMP应答报文,意思是这个UDP数据包,无法交给应用进程,只能丢弃了。
以下是4种常见的ICMP差错报告报文
我们常用的ping命令借助ICMP协议,探测主机是否能找到目的主机。
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发和分组。
如下图所示,分别由转发和分组功能的说明。
接着,我们看一下路由器输入端口做了哪些事情
从上图可以看到,输出端口是做的输入端口的逆过程,将网络层的数据包转换为链路层的数据帧,最后转为物理层的比特流。
输入和输出端口需要注意的是,它们都有一个缓冲队列,比如输入数据的速度太快,输出数据速度慢,为了平衡输入输出速度,就用缓冲队列把数据缓冲下来,一个一个慢慢的处理,但缓冲队列也有限度,超出这个限度,缓冲队列容纳不下,包就会被丢到。
马上就要到对前端最重要的传输层和应用层知识了!准备接招!
传输层是只有计算机才有的层次,主要提供是进程间逻辑通信 + 可靠传输或者不可靠的功能。比如你的QQ跟你异地女友的QQ视频聊天,这就是不同计算机之间,进程间的通信。
这里简单说一下可靠传输协议TCP + 不可靠传输协议UDP。
TCP面向连接,可靠,不提供广播和多播,而且时间延迟比较大,适用于大文件传输。 UDP无连接,收到的报也不确认,但时间延迟小,适用于小文件。
端口号可以用来标识同一个主机上通信的不同应用程序(就是哪个应用程序在使用这个端口)。
那为什么一个端口只能分配给一个应用程序,不能是多个呢?
如果服务器有两个应用程序A,B,分别启动了A服务和B服务,它们监听同一个端口,那有数据来的时候,服务器无法判断这个数据到底是给A,还是给B。
UDP协议是参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
(1) UDP协议的特点
(2)UDP首部
TCP协议简单来说是一种位于传输层的,面向连接的、可靠的、基于字节流的传输层通信协议 TCP协议的特点:
TCP报文的首部格式
如下图所示,我们看一下比较重要的一些首部字段,这里我们介绍固定的20字节的TCP首部
接收方收到了1,2,3个字节组成的数据包,然后接收方就会发送一个确认报文给发送方,其中确认报文的确认号就应该是4,因为1,2,3这三个字节的组成的数据包已经收到了。
控制位 作用 ACK 置1时表示确认号合法,为0的时候表示数据段不包含确认信息,确认号被忽略 PSH 置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送 RST 置1时重建连接。如果接收到RST位时候,通常发生了某些错 SYN 置1时用来发起一个连接 FIN 置1时表示发端完成发送任务。用来释放连接,表明发送方已经没有数据发送了 URG 紧急指针,告诉接收TCP模块紧要指针域指着紧要数据
如下图所示,分别来了解一下建立连接的过程:
如下图所示,分别来了解一下释放连接的过程:
FIN:用来释放一个链接,当FIN=1的时候,表明此报文的发送方已经完成了数据的发送,没有新的数据要传送,并要求释放链接。 客户端等着服务器返回确认
为什么最后还要等待两个时间周期呢?
为什么连接的时候是三次握手,关闭的时候却是四次握手?
为什么不能用两次握手进行连接?
以下是网上普遍的解答:
如果已经建立了连接,但是客户端突然出现故障了怎么办?
TCP保活计时器 每次客户端请求服务器会重置计时器,当2小时之内没收到客户端任何数据时,会每隔75s向客户端发一个探测报文,若接连发送10个,客户端都没有反应,则认为客户端故障,关闭连接。
什么是SYN洪泛攻击?
序号(ISN)为什么要随机? 增加安全性,为了避免被第三方猜测到,从而被第三方伪造的RST报文Reset。 三次握手的第一次可以携带数据吗?为何?
三次握手的第三次可以携带数据吗?为何? 第三次握手,此时客户端已经处于ESTABLISHED状态。对于客户端来说,他已经建立起连接了,并且已经知道服务器的接收和发送能力是正常的。所以也就可以携带数据了。
主要通过以下四种方式实现可靠传输机制:
为什么需要流量控制呢?
比如发送方发送速度非常快,接收方接收速度特别慢,这样就会发生严重的丢包现象。
TCP通过滑动窗口的机制来实现流量控制。简单来说如下(建议网上找一个动画教程来理解,文字效果不是很好):
这部分我也觉得文字部分太生硬了,开始我也不怎么理解,看来一个视频之后我了解了基本原理,这里我文字版和视频地址都放上来。
视频地址如下:拥塞控制视频版
文字版如下:
慢开始与拥塞避免
如果出现了超时,则令 ssthresh=cwnd / 2,然后重新执行慢开始。
快重传与快恢复
应用层对应用程序的通信提供服务。
一些比较重要的应用层协议如下图:
第一种是客户端/服务器模型,也就是C/S架构。比如电子邮件、web都是。
第二种是P2P模型,每个主机既可以提供服务,也可以请求服务。比如迅雷下载也是使用P2P技术的。
而TCP连接有两种工作方式:短连接方式(Short-Live Connection)和长连接方式(Long-Live Connection)。
什么是DNS说白了就是将域名转化为ip,比如www.qq.com,这是域名,可以是网络包需要对方ip地址,域名是不能加入网络包报头的,所以就需要去找一个服务器问,qq的域名对应的ip是多少。
大概的通信过程如下:
这里需要补充一个小知识,关于域名的,大概了解一下就行
万维网www是一个大规模的、联机式的信息存储所,是无数个网络站点和网页的集合。
知识盲区: 在不少人看来,互联网、因特网、万维网没有大多的区别,其实这三者之间的关系应该是:互联网包含因特网,因特网包含万维网。
万维网使用统一资源定位符作为标识符来访问资源。
URL的格式如下:
http报文头分析:
下面是对各部分的简要描述:
下面是常用头部:
通用头部:既可以出现在请求报文中,也可以出现在响应报文中,它提供了与报文相关的最基本的信息
请求头部:请求头部是只在请求报文中有意义的头部。用于说明是谁或什么在发送请求、请求源自何处,或者客户端的喜好及能力
响应头部:响应头部为客户端提供了一些额外信息,比如谁在发送响应、响应者的功能,甚至与响应相关的一些特殊指令
实体首部:描述主体的长度和内容,或者资源自身
实体的主体部分:该部分其实就是HTTP要传输的内容,是可选的。HTTP报文可以承载很多类型的数字数据,比如,图片、视频、HTML文档电子邮件、软件应用程序等等。
常用的HTTP方法和状态码就不详细介绍了,本文完结!你这都能耐心看完,我觉得你太厉害了!
绍一些思维导图软件的电脑版与手机版,
排名不分先后
思维导图是一种能够帮助我们发散思维、提高效率的大脑工具,由英国人东尼·博赞发明,在商业、教育以及个人学习等领域有着非常广泛的运用。
从出现至今的几十年时间里,它改变了全球3亿人的思维方式,因此思维导图又被誉为是20世纪人类最伟大的发明之一。
手绘思维导图已经跟不上如今高效率的工作节奏,这里整理了部分好用、各具特点的思维导图工具,让你快速探索思路,秒秒钟提高工作效率!
1、思想快车(ThinkingExpress) V2.7 绿色版
软件大小:837KB,免费的
思想快车是一款轻便的用于制作""的软件,与MindManager,FreeMind等思维导图软件属于同类产品。
思想快车(ThinkingExpress)的特色
快捷: 最快捷的思维导图工具,瞬间启动;灵巧:最灵巧的思维导图工具;便携: 最便携的思维导图工具,单文件无需安装,零环境要求;简洁:最简洁的思维导图工具,超大整洁的思考界面;自动: 最自动的思维导图工具,强大的可编程环境和交互式控制台。
功能特色:
1. 思想快车是一个轻巧的思维导图软件。它只有一个EXE文件组成,大小为800多K, 没有DLL,无需安装,直接运行。
2. 启动思想快车后,会自动生成一个config.mapx文件。这是一个配置文件,主要用于保存思想快车的配置信息。
3. 思想快车的导图存放在以mapx文件结尾的文件中。一个导图文件可以存放多个导图。配置文件(config.mapx)也可以存放导图。
4. 思想快车支持命令行参数,从而可以直接打开如下文件:*.tmap, *.mmap, *.mm, *.txt,*.mpx。
5. 思想快车有灵活的菜单和按钮布局,以及丰富的快捷键提示,从而更加容易操作。并提供了一个全局热键:Ctrl+Q,用于显示或隐藏主界面。
6. 思想快车允许您最大自由地、最小步骤地创建您的节点,查找您的节点,布置您的节点,格式化您的节点,导航您的节点。
7. 为保护导图和节点的信息安全,思想快车提供了多项安全功能,包括节点信息马赛克、节点扩展信息加锁,导图加锁,导图文件加锁。
8. 思想快车提供了充足的导入导出功能,以方便与其他应用程序交互。例如*.mmap, *.mm, *.mpx, *.txt,*.pdf,图像文件,剪贴板以及鼠标拖拽。
2、NovaMind(思维导图绘制) v6.0.5.11825 绿色便携版
软件大小:14.1MB 软件语言:简体中文
NovaMind绿色版是一款带有演示功能的思维导图绘制软件,据说苹果版 NovaMind 在业内名声很好,其实 Windows 版也同样*,woodheadz 在布局、图形、连接线等方面对比 NovaMind 和 MindManager 后得出,NovaMind 具有完善的思维导图功能,比 MindManager 更能体现「用图形和色彩激发人的思维能力」这个思维导图的核心价值。
NovaMind 支持任意角度的自动布局,节点和连接线也异常灵活,能够任意拖动,强大的连接线编辑功能也是特色之一,可以说NovaMind锐意进取,在精益求精中不断创新思维导图软件。
NovaMind 的幻灯片面板能够创建和管理幻灯片,将思维导图和演示有机结合起来,动画播放有利于观众理解思路的变化。
NovaMind 的界面美观,富有亲和力, 优化过的 Ribbon 工具栏能轻松访问常用的功能,虽然也是基于 .NET 开发,但软件安装简单,运行起来也蛮流畅,支持直接导出思维导图为 PDF、PNG、Word、PowerPoint、MindManager 文件、纯文本、OPML 或者 MS Project 文件。
温馨提示
使用说明:
已经做成绿色便携版,直接运行 NovaMindPortable.exe 即可,2014/12/4 更新为 NovaMind 6.0.5 Build 11825,为全功能无水印试用版,自带多国语言,默认显示简体中文界面。使用 NovaMind 前必须安装 .NET Framework 4,如果软件无法运行,请先下载安装 .NET Framework 4 独立安装程序。
说明
软件开始有以下窗口,只要按"取消"就可以,进入使用了。
3、FreeMind: (免费开源的思维导图软件)
Freemind是一款免费开源的思维导图软件。界面简单,涵盖基本创作思维导图功能,适合奉行极简主义用户进行简单的思维导图编辑与个人创作。
是一款基于java的免费的电脑,Freemind中文版可以作为你的思维笔记,以层级图的展现方式,把各种主题的隶属关系表现得很清晰。Freemind中文版在思维导图软件中,是属于极少数免费开源的类型。需要的朋友千万不要错过哦!
华军软件园https://www.onlinedown.net/soft/101098.htm
*****************************************************************************
4、XMind
XMind 最受欢迎思维导图软件。XMind是一款非常专业的思维导图软件,美观简单易用、功能强大,拥有高效的可视化思维模式,具备可扩展跨平台、稳定性和性能,帮助用户提高生产率,促进有效沟通及协作。我们有时候突然有了灵感需要记录下来,当我们需要记录要点时,用思维导图作记录,将要点以关键词记下,把相关的意念用线连上,加以组织,方便记忆,思维导图叫做 MindMap,也叫脑图,作为一个头脑风暴的工具,灵活运用「思维导图」会让你在学习和工作上帮助极大!XMind,它能跨平台支持 Win、Mac、Linux 和 iOS,而且还能制作流程图、鱼骨图、二维图、树状图、逻辑图等,XMind应用全球先进的Eclipse RCP软件架构,是集思维导图与头脑风暴于一体的"可视化思考"工具,可以用来捕捉想法、理清思路、管理复杂信息并促进团队协作。
网站:https://www.xmind.cn/
5、MindMaster(亿图思维导图 )
性价比最高的一款思维导图软件,是亿图软件的新产品。
软件颜值较高,操作简单易上手、主题样式丰富、稳定性高、自定义功能强大;除了可以绘制常规的思维导图,还支持绘制鱼骨图、组织结构图、时间轴等。有云协作功能,可跨平台操作。
MindMaster 自带幻灯片展示功能,不需要借助其他的工具,就可以进行幻灯片展示。同时支持一键将思维导图拆分成多个幻灯片页面,可以在全屏模式下遍历思维导图的主题或者分支,当思维导图内容较多时,也可以很好的将每个细节展示清楚,除此之外,MindMaster 专业版还可以将思维导图幻灯片导出为 PPT 格式,在 Office PowerPoint 中,进行分页展示和打印。
MindMaster 专业版搭载亿图云服务,提供多人协作办公的功能,团队办公中轻松实现文件共享、编辑,1G 云空间让文件保存和分享更方便自由。通过添加、管理自定义的标签,在进行任务管理的人员分配时,还可以更高效地设置任务信息。MindMaster 专业版还可以从思维导图一键生产甘特图。在思维导图中添加的任务信息会一一对应到甘特图中,思维导图和甘特可以同步编辑、更新。绘制好的甘特图,还可以导出至 PDF 格式,对于进行日程计划、安排、任务管理等,都非常的实用。
MindMaster 专业版在免费版的基础上,增加了更多主题样式,通过彩虹色、单色、对称色、交替色四种配色,让思维导图色彩更丰富,同时还可以一键切换漂亮的手绘模式的思维导图,除此之外,MindMaster 专业版还提供了丰富的高清且纯矢量剪贴画,适用于商业、教育、人物、自然、科技等各个领域。
MindMaster 专业版可以将思维导图导出为 Word、PPT、Excel、PDF 等文件格式,无需使用MindMaster 软件就可以进行再次编辑、修改。同时 MindMaster 专业版还支持导出更高 DPI 图片格式,以及 HTML 和 SVG 格式。
网站:https://www.edrawsoft.cn/mindmaster/
6、iMindMap
iMindMap 是思维导图创始人托尼·巴赞(Tony Buzan)开发的思维导图软件,线条自由,具有手绘功能。
它结合独特的自由形态头脑风暴视图模式和系统的思维导图视图模式,特别适用于头脑风暴、策划和管理项目、创建演示文稿等。
网站:
http://www.thinkbuzan.com/uk/
https://imindmap.com/
https://www.imindmap.cc/(中国独家代理商)
7、MindManager
MindManager是老品牌了,它支持移动设备和在线编辑功能,内置功能丰富,所做图形较为美观,与Office整合较好,支持数据库、任务管理、批注等功能,对于高手而言可配置性强。
网站:
http://download.mindjet.com/
http://www.mindjet.com/
https://www.mindmanager.cn/(中国独家代理商)
8、MindMapper
MindMapper思维导图是表达发射性思维的有效的图形思维工具。思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接,思维导图充分运用左右脑的机能,利用记忆、阅读、思维的规律,协助人们在科学与艺术、逻辑与想象之间平衡发展,从而开启人类大脑的无限潜能。
网站:
https://www.mindmapper.cc/(中国独家代理商)
www.mindmapper.com
9、MindMeister:
MindMeister是一款在线思维导图,目前在应用市场上被认为是最好的在线思维导图。
风格开放活泼,可随时保存,支持快捷键。不过有一点,它是纯英文,英文水平不够的同学就比较忧伤了。
10、百度脑图:
百度脑图,在线版的里面算是比较灵活,随意拖拽,使用感觉很流畅,不足的是可能因为它是网页版所以素材基本没有,但可以自己插入图片,做写简单的思维导图是完全没有问题的。
11、Bubbl.us :
Bubbl.us是一个基于Flash的简单、免费的Web应用程序。
方便个人或团体在线创建丰富多彩的树形流程图,勾勒出在脑海中构思的概念图。
新版Bubbl.us注册用户拥有共享权限。可直接将文件拖放到共享区域,进而编辑、完善共享权限。
12、Text2MindMaps :
在线脑图制作工具。优势在于使用简单,只需使用者在文本区域键入文本,再配合Tab键进行文本行的缩进,最后单机绘图按钮就可以了。
13、Popplet :
popplet是个 "个人或集体辅助使用的应用程序,或者是智能处理笔记的工具 "。
外观可爱,操作简捷;特点是可以进入popplet博客,上传自己的popplet,也可以在上面观看别人的popplet博文。
14、WiseMapping
WiseMapping 是一个开源的 HTML5 心智图应用,既可以在线使用,也可以下载到自己的服务器上运行。
15、Coggle
Coggle 是一款简约漂亮的思维导图工具,轻量级,需要 Google 账号,可导出 PDF、PNG、TXT 格式,支持多人协作,嵌入网页等等。
16、Stormboard
一款不错的讨论工具,大大解决了在线讨论不能做到的收集观点、分享资料、没有条理的问题。特点是头脑风暴讨论设计,讨论者可以像在用真正的白板一样,往上面贴便利贴。
17、Wridea
Wridea协作和头脑风暴的web服务。可以把这看作一个汇聚创意和想法的网站,不失为一个和好友交流想法和创意的好地方,也许就能碰撞出不错的创意。
18、Mindomo
跨平台,提供云服务来同步文件。在 Windows 上可以用网页版也可以用桌面版来工作。可以完全的协作,每个工作区中启用了对话,讨论和主题。
「XMind」是一款让你专注思维,捕捉每一个灵感瞬间的 App。每当你有一个想法,「XMind」帮你专注于它的扩展延伸和梳理,融合艺术与创造力,让思维清晰可见。你可以创建 workflow,接下来心无旁骛投入工作流程;以灵感为中心,在无限的脑图幕布上延伸想法;随手记录点滴灵感、待办清单、会议记录或是项目规划,尽情享受逻辑思维。
这个思维导图,直接就起思维导图,连个标志名字都没有。。
思维导图(MindLine)秉承极简设计的原则,没有繁琐的操作和复杂的界面,在这里你可以轻松构思和扩展想法和计划。
点击分支上的+号,即可向左右两边扩展分支,长按分支上的文本会弹出功能菜单,可以进行复制、剪切、删除、备注和标记等操作。制作好的导图可以导出为图片、PDF和Html等多种格式,并能随时随地分享给好友。
我们还提供了强大的云服务备份和同步导图文件,实现不同设备上文件共享,并确保文件不会丢失。登录我们的官网可以在线打开和编辑保存在云空间的导图。
21、MindNode手机版
MindNode是Mac上的思维导图软件,也有iOS版本。颜值颇高,比较小清新。软件简单易学,适合刚入门思维导图的新手使用。
还有以下手机版
总结
本文旨在将优秀的思维导图工具简单介绍给大家,由于精力有限,也没能对每款工具都深入了解,也欢迎大家补充哦。工具的使用最关键还是在于人,再好的工具也要使用者养成结构化思维习惯。如果你正在寻找顺手的思维导图工具,希望这篇文章能帮助你哦。
TML 或超文本标记语言 允许 Web 用户使用元素、标签和属性创建和构造部分、段落和链接。然而,值得注意的是,HTML 不能被视为一种编程语言,因为它不能创建动态功能。
HTML有很多用例,即:
本文将介绍 HTML 的基础知识,包括它的工作原理、优缺点以及它与 CSS 和 JavaScript 的关系。
HTML(代表超文本标记语言)是构成大多数网页和在线应用程序的计算机语言。超文本是用于引用其他文本片段的文本,而标记语言是告诉 Web 服务器文档的样式和结构的一系列标记。
在国内的网站上找了一圈,这应该是介绍历史最细致的,长按保存手机里翻译
平均每个网站包含几个不同的信息 HTML 页面。例如,主页、关于页面和联系页面都将具有单独的 HTML 文件。
HTML 文档是以 .html 或 .htm 扩展名结尾的文件。Web 浏览器读取 HTML 文件并呈现其内容,以便互联网用户可以查看它。
所有 HTML 页面都有一系列 HTML 元素,由一组标签和属性组成。HTML 元素是网页的构建块。标签告诉 Web 浏览器元素在哪里开始和结束,而属性描述元素的特征。
元素的三个主要部分是:
这三个部分的组合将创建一个 HTML 元素:
<p>这是在HTML中添加段落的方法。</p>
HTML 元素的另一个关键部分是它的属性,它有两个部分——名称和属性值。名称标识用户想要添加的附加信息,并且属性值给出进一步的说明。
例如,添加紫色和 font-family verdana 的样式元素将如下所示:
< p style="color:purple;font-family:verdana" >这是在HTML中添加段落的方法。< /p >
另一个属性,HTML 类,对于开发和编程来说是最重要的。class 属性添加了可以作用于具有相同类值的不同元素的样式信息。 例如,我们将对标题 <h1> 和段落 <p> 使用相同的样式。样式包括背景颜色、文本颜色、边框、边距和填充,在 .important 类下。要在 <h1> 和 <p> 之间实现相同的样式,请在每个开始标记后添加 class=”important”:
<html>
<head>
<style>
.important {
background-color: blue;
color: white;
border: 2px solid black;
margin: 2px;
padding: 2px;
}
</style>
</head>
<body>
<h1 class="important">This is a heading</h1>
<p class="important">This is a paragraph.</p>
</body>
</html>
大多数元素都有一个开始标签和一个结束标签,但有些元素不需要结束标签即可工作,例如空元素。这些元素不使用结束标签,因为它们没有内容:
< img src="/" alt="图像" >
这个图像标签有两个属性——一个src属性,图像路径,和一个alt属性,描述性文本。但是,它没有内容,也没有结束标签。
最后,每个 HTML 文档都必须以 <!DOCTYPE> 声明开头,以告知 Web 浏览器文档类型。使用 HTML5,doctype HTML public 声明将是:
< !DOCTYPE html >
目前,有 142 个 HTML 标签可以用于创建各种元素。尽管现代浏览器不再支持其中一些标签,但学习所有可用的不同元素仍然是有益的。
第二节将讨论最常用的 HTML 标签和两个主要元素——块级元素和内联元素。
块级元素占据页面的整个宽度。它总是在文档中开始一个新行。例如,标题元素将位于与段落元素不同的行中。
每个 HTML 页面都使用这三个标签:
<html>
<head>
<!-- META INFORMATION -->
</head>
<body>
<!-- PAGE CONTENT -->
</body>
</html>
其他流行的块级标签包括:
内联元素格式化块级元素的内部内容,例如添加链接和强调的字符串。内联元素最常用于在不破坏内容流的情况下格式化文本。
例如,一个 <strong> 标签会以粗体呈现一个元素,而 <em> 标签会以斜体显示它。超链接也是使用 <a> 标记和 href 属性来指示链接目标的内联元素:
<a href="https://www.icodingdeu.com/" >点我!</a>
HTML 的第一个版本由 18 个标签组成。从那时起,每个新版本都带有添加到标记中的新标签和属性。迄今为止,该语言最重大的升级是 2014 年引入的 HTML5。
HTML 和 HTML5的主要区别在于HTML5 支持新类型的表单控件。HTML5 还引入了几个语义标签,可以清楚地描述内容,例如 <article>、<header> 和 <footer>。
就像任何其他计算机语言一样,HTML 有其优点和局限性。以下是 HTML 的优缺点:
优点:
就像任何其他计算机语言一样,HTML 有其优点和局限性。以下是 HTML 的优缺点:
缺点:
HTML 用于添加文本元素并创建内容结构。然而,仅仅建立一个专业的和完全响应的网站是不够的。因此,HTML 需要借助层级样式表 (CSS)和JavaScript来创建绝大多数网站内容。
HTML 是 Internet 上的主要标记语言。每个 HTML 页面都有一系列创建网页或应用程序内容结构的元素。
HTML 是一种对初学者友好的语言,有很多支持,主要用于静态网站页面。HTML 与用于样式的 CSS 和用于功能的 JavaScript 一起使用效果最好。
我们还向您展示了一些在线教学课程,它们将有助于提高您的 HTML 知识或提供对 HTML 的基本理解。
如果您有任何其他喜欢的资源来学习 HTML,请在评论部分告诉我们。
*请认真填写需求信息,我们会在24小时内与您取得联系。