**访问网站,网络协议都发生了点啥:
用户发送一个数据请求,分为三个步骤:发送网络请求→后端处理→浏览器相应。
另一个说法:HTTP与TCP、IP和DNS的关系?
1.用户在浏览器地址栏输入baidu.com域名网站的请求,DNS解析域名对应的IP地址192.10.2.2;「客户端」
通信协议:简单来说就是浏览器和服务器之间沟通的语言
域名:不同的域名地址表示网站中不同的页面
2.通信工作流程:
首先,HTTP(网络传输协议)生成针对Web服务器的HTTP请求的报文;「客户端」
接着,TCP(传输控制协议)将HTTP请求的报文分割成多份报文段,为了方便、可靠的传输数据,期间采用“三次握手”来确保准确发送;「客户端」
然后,IP(网络协议)将分割的报文段,依赖网络设备中转MAC地址,通过ARP(地址解析协议)解析服务器的IP地址;「客户端 → 服务器」
再接着,由TCP(传输控制协议)接收报文段,按照原来的顺序重组;「服务器」
然后,HTTP(网络传输协议)对请求的内容进行处理;「服务器」
最后,将处理的结果以TCP/IP协议向客户端回传。
流程图如下:
HTTP/DNS/TCP/IP基本概念:
HTTP:
超文本传输协议(HyperText Transfer Protocol),又称:网络传输协议,一个简单的请求 - 响应协议,所有WWW文件遵守这个标准;
DNS:
域名系统(Domain Name System),提供域名到IP地址之间的解析服务;
TCP:
传输控制协议(Transmission Control Protocol),将大块数据分割成报文段进行传输,为了更方便、更可靠的传输数据。而更可靠是指,TCP为了把数据发送出去后,采用“三次握手”策略,以确保数据准确送达。
“三次握手”:
我们来看一下这个图:
握手过程中使用了TCP的标志-SYN和ACK。发送端首先发送一个S带SYN标志的数据包给对方。接收端接到后,就会回传一个带有SYN/ACK标志的数据包 以表示传达确认信息。最后,发送端再回传一个带ACK标志的数据包 给接收端, 此时代表“握手”结束。除了三次握手来保证通信的可靠性,TCP协议还有其他各种手段来保证通信的可靠性,这里我就不过多讲解了,大家可以自己翻阅相关资料去了解下。
IP:
翻译成网际协议(Internet Protocol),IP是协议,IP地址是地址
IP作用:把各种数据包传送给对方。如果要保证确定传送到对方那里,则需要满足各类条件,其中最重要的两个条件是IP地址和MAC地址。
(1)IP地址:指明了节点被分配到的地址
(2)MAC地址:是指网卡所属的固定地址
(3)区别:IP地址可变换,但MAC地址基本上不会更改。
IP地址:
请求所到达的地址
MAC地址:
在网络上,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的 MAC 地址来搜索下一个中转目标。
注:IP地址可变换,MAC地址基本上不会更改。
IP间的通信依赖于MAC地址。
我们来看一下这个图:
在网络上,通信的双方通常都是要经过多台计算机或者网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标,这时我们就是靠ARP协议来进行处理。
ARP:
地址解析协议(Address Resolution Protocol),解析IP地址和MAC地址的协议
TCP/IP协议
TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。
HTTP、HTTPS 是什么❓
前言:
使用浏览器访问一个网站页面,在浏览器的地址栏中我们会看到一串URL,如图
网站的URL会分为两部分:通信协议和域名地址。
域名地址都很好理解,不同的域名地址表示网站中不同的页面,
而通信协议,简单来说就是浏览器和服务器之间沟通的语言。
网站中的通信协议一般就是HTTP协议和HTTPS协议。
HTTP协议
HTTP协议是一种使用明文数据传输的网络协议。一直以来HTTP协议都是最主流的网页协议,但是互联网发展到今天,HTTP协议的明文传输会让用户存在一个非常大的安全隐患。试想一下,假如你在一个HTTP协议的网站上面购物,你需要在页面上输入你的银行卡号和密码,然后你把数据提交到服务器实现购买。假如这个适合,你的传输数据被第三者给截获了,由于HTTP明文数据传输的原因,你的银行卡号和密码,将会被这个截获人所得到。现在你还敢在一个HTTP的网站上面购物吗?你还会在一个HTTP的网站上面留下你的个人信息吗?
HTTPS协议
HTTPS协议可以理解为HTTP协议的升级,就是在HTTP的基础上增加了数据加密。在数据进行传输之前,对数据进行加密,然后再发送到服务器。这样,就算数据被第三者所截获,但是由于数据是加密的,所以你的个人信息让然是安全的。这就是HTTP和HTTPS的最大区别。
其实如果你足够细心,你会发现现在很多大型互联网网站,如百度、淘宝、腾讯很早就已经把HTTP换成HTTPS了。
HTTP和HTTPS的其他不同
数据加密传输,是HTTP和HTTPS之间的本质性区别,其实除了这个之外,HTTPS网站和HTTP网站还有其他地方不同。
不同浏览器显示不同
当你使用Chrome浏览器访问一个HTTP网站的时候,你会发现浏览器会对该HTTP网站显示“不安全”的安全警告,提示用户当前所访问的网站可能会存在风险。
而假如你访问的是一个HTTPS网站时,情况却是完全不一样。你会发现浏览器的地址栏会变成绿色,企业名称会展示在地址栏中,地址栏上面还会出现一把“安全锁”的图标。这些都会给与用户很大的视觉上的安全体验。以下是EV证书在不同浏览器中的展现。
HTTPS网站将会作为搜索排名的一个重要权重指标。