小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。
前言
在我们日常生活中,网络是随处可见,不管我们使用的手机还是电脑,都离不开网络的支持。网络连接我们通往全球各个各地,缩短人与人之间的距离,随时畅享在网络信息的海洋里。
我们不仅仅使用网络我们带来的便捷,我们也要思考一下如下问题:
网络是怎么工作的?
接下来,我们要来学习计算机网络基础相关的知识吧,Let’s go~
Python网络库
Python 作为高级语言之一,也支持对网络编程相关的模块。
- Python内置库提供了urllib、request模块
- Python 还支持第三块模块:selenium、aiohttp、phantomjs
TCP/IP网络模型
👉 OSI七层模型
名称 | 说明 |
---|---|
应用层 | 为网络程序提供网络服务的接口 |
表示层 | 将上层数据或者信息进行变换,保证应用程序能理解 |
会话层 | 负责建立、管理、终止进程之间的会话 |
传输层 | 负责将上层数据分段提供端到端的传输,代表设备网关 |
网络层 | 负责对子网间的数据包进行路由选择,代表设备路由器 |
数据链路层 | 将网络层的数据进行打包,或者将物理层数据进行解析传给网络层。代表设备交换机 |
物理层 | 将数据解析传给数据链路层,或者将数据链路层传的数据进行打包传给硬件设备进行传输。代表设备网卡、集线器 |
👉TCP/IP网络模型有四层:
名称 | 协议 |
---|---|
应用层 | SMTP、FTP、DNS、SNMP、NFS、HTTP、TELNET |
传输层 | TCP、UDP |
网络层 | ICMP、IGMP、IP、ARP、RARP |
网络接口层 | LAN、WAN、MAN |
URL
👉 URL(Uniform Resource Locator)对象代表统一资源定位器。
网页请求方式
👉在网络请求过程中主要分为Request和Response
- Request:请求向服务器放送请求访问
- Response:服务器接收到客户端的请求后,服务器会验证请求的有效,通过请求的内容查询后返回给客户端。
💡 网络请求方为GET和POST
- GET:最常见的请求方式,传输的数据显示在URL中,且对数据传输大小有限制
- POST:URL不显示传输的数据,,以表单形式进行传参,可以进行查询和修改信息
🔔GET和POST重点说明
- GET和POST 网络层都是使用的TCP协议
- GET在网络请求中只产生一个TCP包,POST则在整个网络中产生2个TCP包 GET在一次请求中,把HEADER和数据一次性传给服务器,POST则先传输HEADER给服务器,服务器返回给100后,则继续发送数据给服务器,返回200。
HTTP和HTTPS
HTTP:超文本传输协议,属于应用层协议,常用于web浏览器和服务器之间传递信息
HTTPS:超文本传输安全协议,通过使用SSL/TSL加密技术和HTTP协议结合进行网络数据安全传输
HTTP和HTTPS区别:
- HTTP协议默认TCP协议端口是80,HTTPS协议则是TCP协议443端口
- HTTP协议传输是明文传输的,HTTPS协议传输之前需要SLL对数据进行加密
- HTTP协议页面响应比HTTPS快,HTTP协议需要3个TCP包,HTTPS传输数据需要12个TCP包
HTTP状态码
状态码 | 说明 |
---|---|
2XX | 成功 |
200 | 请求成功 |
201 | 紧接POST命令 |
202 | 已接收用于处理,但处理未完成 |
203 | 返回部分信息 |
204 | 无响应,已接收到请求,但不存在要返回的信息 |
3xx | 重定向 |
300 | Multiple Choices 客户请求的文档可以在多个位置找到 |
301 | 已移动 — 请求的数据具有新的位置且更改是永久的 |
302 | 已找到 — 请求的数据临时具有不同 URL。 |
304 | 未修改 — 未按预期修改文档。 |
4xx | 客户机中出现的错误 |
400 | 错误请求 — 请求中有语法问题 |
401 | 未授权 — 未授权客户机访问数据 |
403 | 禁止 — 即使有授权也不需要访问 |
5xx | 服务器中出现的错误 |
500 | 内部错误 — 因为意外情况,服务器不能完成请求 |
502 | 错误网关 — 服务器接收到来自上游服务器的无效响应 |
505 | 不支持HTTP版本 |
常用工具
我们在进行调试过程中通常使用最多的是Postman
Postman 工具非常强大,不仅可以模拟各个协议的接口请求,还支持批量触发等脚本运行
总结
本期,我们主要了解Python支持网络编程的相关的模块,以及对计算网络相关的基础知识进行学习
接下来我们会陆续开始学习Python网络编程相关模块方法的学习
以上是本期内容,欢迎大佬们点赞评论,下期见~
今天的文章Python 计算机网络基础知识分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16069.html