商库圈_Htttp_TCP | 学习笔记

简介: 快速学习商库圈_Htttp_TCP。

开发者学堂课程【2020版大数据实战项目之DMP广告系统(第六阶段)商库圈_Htttp_TCP】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/681/detail/11822


商库圈_Htttp_TCP

 

一、Http客户端

1.目标

即使是在大数据系统中,看起来和 Http 关系不太大,但其实 Http 是无处不在的。例如,网页访问这个服务器就是使用 Http 的请求,服务之间进行交互时也会使用Http。使用spark启动的时候会去使用一个 http 的工具启动服务器,让其他下载相应的架包,因此 Http 协议也是非常重要的一个协议。包括在数据处理是访问一些其他的服务也要使用http客户端,所以http是一个非常重要的东西

通过本章,详细的介绍 Http 协议,并且介绍常见的 Http 常见的访问方式

2.步骤

·Http:协议了解 Http 服务,知道它的作用

·常见的 Http 客户端

3.Http 协议

1TCP

Http 协议的底层协议,Http 协议只是一种字符串组织的方式。比如,字符串中间用什么分隔,里面可以有什么字段,这是 Http 规定的。但是中间怎么传输这些跟它没有关系,是 TCP 的内容。在几十年以前是没有互联网协议的,两台机器也不能通信,要想通信必须插一个网线,那个年代其实没有 TCP 这个东西,应该不到一百年,那么那个时候两台机器如何进行通信。

比如拿微信来说,张三的手机有一个微信,李四的手机也有一个微信。那么这两个微信要进行通信,首先张三和李四的手机要进行通信。手机也可理解为网络中与PC等价的一个终端

8.1.png

2)问题的提出,这两个微信如何通信

①解决方案一:使用网线或者 WIFI,通过 wifi和 其中的一些节点,连接到另外一台手机。或者二者之间直接插网线

首要考虑的问题就是 zhangsan 如何知道 lisi 在网络中的位置。例如,如果你想要去亲戚家串门,首先要一个亲戚家在哪里

②解决方案二:使用 IP 标注主机在网络中的位置,通过IP地址我们就可以寻址找到另一个电脑或手机,另一个终端

8.2.png

此时可见,张三的手机和李四的手机中各有一个微信和一个QQ。那么微信与微信之间想进行通信的话,首先这两个手机要进行通信,那么这两个手机分别要有一个地址。因此张三的手机地址通过李四的手机地址来访问李四这台手机

l  解决的问题:现在 zhangsan 的手机和 lisi 的手机在网络中已经有位置了,这两个手机之间已经可以通信了

l  遗留的问题:但是 zhangsan 的手机和 lisi 的手机中运行了很多程序, zhangsan 手机中的微信该如何找到 lisi 手机中的微信

③解决方案三:使用 Port 标注程序在电脑或手机中的位置

8.3.png

现在要让微信和微信之间、QQ QQ 之间进行联系,此时在张三的手机里已经能找到李四的手机,通过IP地址。但是这个程序怎么精确的找到另一个手机当中的程序,又会引入一个概念叫做端口。我们知道IP地址就是一个主机或者一个终端在网络当中的位置。那么端口就是一个程序在一个中端的位置。

比如张三的手机中有100个程序可以联网,那么这100个程序都有一个自己的端口。所以IP表示一个中端在网络中的位置,端口表示一个程序在终端之中的位置。如果我们知道了李四手机中的微信,那么两个微信之间就可以进行相应的通信

l  解决的问题:现在 zhangsan 手机上的微信,已经可以和 lisi 手机上的 微信交互了,通过端口可以解决网络中的主机中的软件识别问题

l  遗留的问题:网络通信中有很多问题,需要通信双方进行协调,比如说协议版本,容错方式,数据包长度,路由信息等,如果没有一个好的协议,双方可以进行通信吗?

④解决方案四:使用 TCP 协议,规范通信双方都需要遵循的报文格式

8.4.png

现在通过 IP 能找到另外一个手机,通过端口能找到另外一个程序。那么发送的数据应该是什么样呢?

例如我是一个只会说中国话的中国人,你是一个只会说英语的英国人,那么我们两个该怎么进行沟通呢?因此我们就需要找一个世界语,我们的语言就一样了,这时我们两个就能交互了。

张三和李四要进行通信,如果张三和李四互相发送的报文格式不一样,那么一定不知道对方在哪儿。所以我们要统一报文的格式,这个格式一定要双方都认同。大家都使用这种格式就可以进行交接和沟通了,这种格式叫做协议。

当然协议并不只是报文格式,他还指的是通信的过程,它是一整套的。比如TCP就是其中一个协议。还有一个协议叫做 UDP,他们之间的关系是TCP是有连接的安全的协议,UDP 是一个面向无连接的也不需要握手。TCP 会跟踪,并且需要回执。二者都是通信协议。

这时完整协议是TCP/IP是用IP来标注位置,用端口来标注程序,然后用TCP来规定怎么进行通信,那么两个机器就可以建立连接,并且进行通信。

微信和 QQ 是不能进行通信的。例如,TCP 只是让我们两个人同时说人话,但是人话又分为很多种。所以我们没法在TCP这一层规定我说什么你说什么,假如说理解为微信说的中文,QQ说的英文,那么他们不能进行通信,在 TCP 之上他们应该还有一层协议给应用之间使用,TCP只是规定在传输时的协议

l  解决的问题:现在双方终于有了完备的,可以相互通信的环境了, TCP 规定了通信双方报文的格式,包括各种标志位,源 IP 和目标,通信版本等

l  遗留的问题: TCP 适合所有场景吗?

跟着这个路径来解决的问题就是双方如何通信的问题,解决方案叫做 TCP / IP ,同样的,也有另外一个基础协议,是不安全的无连接的,叫做 UDP /IP

 

 

 

相关文章
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1012 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1706 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
648 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
616 12
|
10天前
|
人工智能 自然语言处理 API
Next AI Draw.io:当AI遇见Draw.io图表绘制
Next AI Draw.io 是一款融合AI与图表绘制的开源工具,基于Next.js实现,支持自然语言生成架构图、流程图等专业图表。集成多款主流大模型,提供智能绘图、图像识别优化、版本管理等功能,部署简单,安全可控,助力技术文档与系统设计高效创作。
688 151