前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络基础意淫篇

网络基础意淫篇

作者头像
公众号---人生代码
发布2020-01-14 16:45:15
5550
发布2020-01-14 16:45:15
举报
文章被收录于专栏:人生代码人生代码

最重要的一点就是如果您觉得对您有帮助,希望可以点个在看,或者点一点文章中最下面的广告,给小编我加个鸡腿,毕竟小编写文章也是很辛苦的,非常感谢

HTTP诞生及其发展

诞生的原因

起源于知识共享,挖草,这是一个伟大的思想,(到现在都在沿用这个思维,什么共享单车,共享汽车,共享充电器太多了),借助多文档之间关联形成超链接形式,连接成一个可以互相参阅的WWW(万维网)

传输媒介

超文本标记语言(HTML,XHTML,XML)

文档传输协议 HTTP

指定文档所在资源路径 URL

传输原理

通信规则

我们都知道,程序员都喜欢意淫的话,通常是这样的,假如我给未来的女朋友打电话,我第一句话就给回“你好,女朋友,余生请多关照”,挖草,我女朋友给我回了一句我听不懂的话“Hello, boyfriend, please take care of me for the rest of my life”,那就糟糕了,通信协议不对啊,那肯定吃亏的是我,我得去学习英语了,哈哈,这样我们就建立起了一套通信规则那就是‘万恶的英语’,那其实我们可以协商啊,制作出一套统一的规则我教她中文,她教我英文,这样我们就能中文,英文都能沟通了,就这样通信界的协议TCP/IP协议就出来了,中文,英文就如同TCP/IP中的分层结构,分层的好处就是我们可以灵活改动某一个部分,不用牵一发而动全身,而 HTTP 协议就是通信得标准

TCP/IP通信模型

TCP/IP通信传输流

TCP/IP协议会通过分层顺序与对方进行通信

  1. 客户端在应用层发出HTTP请求
  2. 传输层对从应用层收到的数据(HTTP请求报文)进行分割,在各个报文上打上标记序号、端口号后转发给网络层
  3. 网络层,增加作为通信目的地MAC地址转发给链路层
  4. 服务器在链路层收到消息,按层往上发送,直到应用层,最终收到客户端的HTTP请求

发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该 层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层 时会把对应的首部消去

负责传输的IP协议

还是那个跟未来女朋友打电话的例子,这次我学会了英语,女朋友给我讲英文,我不怕了,我们打电话肯定需要网络链接(微信电话),那我得加她微信吧,这样我们就达成了IP协议,各自的地方就是各自的IP,负责把对方讲的话传递给对方,这样就有了它的作用是把各种数据包传送给对方

而要保证确实传送到对方那里,需要满足各类条件;其中两个重要的条件是IP地址和MAC地址

IP地址指明节点被分配的地址,MAC地址指网卡所属的固定地址 IP地址可以和MAC地址配对,IP地址可变换,MAC地址基本不会更改

IP地址,就是我跟我女朋友,一个在现在,一个在未来

MAC地址,就是各自的微信号码

确保可靠性的TCP协议

我们在打电话之前,我得问一问我女朋友是不是有空接电话,再三确定之后,才能约她看电影,吃饭,逛街,甚至幸福啪啪啪,哈哈

这样就有了确保可靠性TCP协议

TCP协议位于传输层,提供可靠的字节流服务

字节流服务 字节流服务是指,为了方便传输,将大块数据分割成报文段为单位的数据包进行管理,而TCP协议能够确认数据最终是否发送到对方

为了保证通信的可靠性,TCP协议采用了三次握手策略建立连接,TCP协议发送数据包后,会向对方确认是否发送成功

TCP三次握手

我们将发送一次消息称为一次握手

TCP三次握手使用了TCP的标志:SYN 和 ACK

  1. 发送端首先发送一个带有SYN标志的数据包给对方,确认对方是否可以收到消息
  2. 对方收到后,返回带有SYN/ACK标志的数据包表示收到消息,你可以跟我通信啦
  3. 发送端最后发送带ACK标志的数据包,会话结束

若在握手的某个阶段莫名中断,TCP协议会以相同的顺序发送相同的数据包

负责域名解析的DNS服务

DNS服务和HTTP协议一样位于应用层,DNS提供域名到IP地址之间的解析服务

计算机被赋予IP地址,通过IP地址可以访问页面,与IP地址的一组数字相比,域名(字母数字的组合:比如baidu.com)更符合人们的记忆习惯,但是计算机擅长处理数字,为了解决这一问题,DNS 服务应运而生

TCP、IP和DNS在使用HTTP协议通信过程中各自发挥的作用

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CryptoCode 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTTP诞生及其发展
    • TCP/IP通信传输流
      • 确保可靠性的TCP协议
        • TCP三次握手
          • 负责域名解析的DNS服务
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档