IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 学习笔记-第2天-python-网络基础 -> 正文阅读

[网络协议]学习笔记-第2天-python-网络基础

目录

一、TCP/IP协议

二、HTTP协议

三、TCP/UDP的对比

四、线程、进程、协程

五、IP、子网掩码、默认网关、mac地址、DNS服务器

六、个人电脑、集线器、交换机、路由器


一、TCP/IP协议

1、TCP/IP协议是一类协议的总称,包含很多协议。比如 tcp、udp、ip、arp、icmp等。每一种具体的协议在数据传输过程中,作用的地方(层↓)不一样,所起的作用不一样。

2、TCP/IP协议有4层,后来USA又发了一个OSI标准的协议层,是7层。对应图如下:

?OSI对TCP/IP做了更细致的划分。目前实质上用的还是TCP/IP。

二、HTTP协议

1、http协议简单说明

HTTP协议是规定服务器端与客户端的说话方式的。服务器端和客户端都相互遵守这个规则,两端就能正常的发送数据、接收数据。

比如:

第一步:客户端(浏览器)请求? 127.0.0.1:7890/login.html,即发送了一个请求头:

GET? /login.html? HTTP/1.1

第二步:127.0.0.1这台服务器看见了这个请求头,就通过GET的方式,HTTP/1.1这个版本,去拿到自己根目录下的login.html这个文件的内容,准备返回给客户端

第三步:准备好第二步的login.html数据后,服务器还需要按照格式组装一个符合规范的数据,简化为:

GET? HTTP/1.1 200 OK

(空一行)

login.html......abcd.....efg.......

此时服务器把这整个数据包返回给客户端,客户端接收到就完成了本次数据请求和传输。

注意:上面发送数据时的请求头,为什么要写HTTP/1.1,服务器回的时候为什么要写200 ok,不能写200 right吗?? 这就是所谓的协议规则。不这么写对方就不认识,就不能正常通信。

2、HTTP协议的3次握手,4次挥手

tcp是全双工的。即客户端有发口,有收口;服务器端也有发口,有收口。

3、长连接和短连接

HTTP1.0是短连接,HTTP1.1是长连接

短连接:三次握手成功,发一次数据,立马四次挥手断开。

长连接:三次握手成功,可以一直发数据或者等待,直到客户端长时间没有数据交互,或者客户端主动断开,才启动四次挥手断开连接。

三、TCP/UDP的对比

tcp:全双工,客户端和服务器端相互直到对方是否已收到消息。

udp: 数据发了就发了,丢了还是真的接收到了,udp就不管了。

四、线程、进程、协程

在python中对比

线程threading.Thread消耗中等?? 线程是属于进程的
进程multiprocessing.Process消耗最多?? 一个进程可以开多个线程,进程间相互独立
协程gevent消耗最低

五、IP、子网掩码、默认网关、mac地址、DNS服务器

IP: 最大 255.255.255.255 ,每一位上0,1和255不能用

子网掩码: 255.255.0,和IP配合来确定当前所处的网段

默认网关:能转发数据的设备,两个大网区之间的通讯

mac地址:网卡的物理地址,全世界唯一

DNS服务器:用来解析域名解析。相当于一个大电话簿的,里面记录了域名和对应的IP。当我们访问某一个网站输入它的域名比如www.baidu.com后,DNS服务器就找到这个域名对应的IP。

六、个人电脑、集线器、交换机、路由器

个人电脑:个人拥有,可上网

集线器:Hub,仅能用于广播,数据会发送给任何人,已淘汰

交换机:Switch,可广播,可单播,只能在同一个网段中传输数据

路由器:Router,把不同的网段连接为一个大的互联网

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-14 14:29:09  更:2021-08-14 14:29:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 5:26:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计