网络编程

OSI网络7层模型

图片.png

1、物理层 :通信信道上传输原始的比特流,进行模数转换。
数据类型:比特流
设备举例:网卡
2、数据链路层:物理寻址,将比特流转换为逻辑线路传输(封装成帧),对帧进行解码,发送到正确的接收方。
数据类型:帧
设备举例:交换机
3、网络层:将网络地址翻译为对应的物理地址,如何将数据从发送发路由到接收方。
设备举例:路由器
数据类型:数据包。对应TCP/IP协议里面的IP协议。
4、传输层:把数据进行分割,并将这些数据交给网络层,保证数据段有效到达对端。
数据类型:数据段。对应TCP/IP协议里面的TCP、UDP协议。
5、会话层:管理应用程序之间的通信,保证可以自动收发包和寻址。
代表协议:RPC远程过程调用协议
6、表示层:解决不同系统之间通信语法的问题,以及它们的关联如加解密、压缩解压缩。
7、应用层:固定消息头,消息头里面记录消息体的长度。
对应TCP/IP协议里面的HTTP协议。

  • 整体先自上而下,后自下而上处理数据头部。


    图片.png

TCP/IP 对osi参考模型的具体实现

图片.png

图片.png

TCP报文头

图片.png
  • TCP flags


    图片.png
  • TCP三次握手


    图片.png

    第一次:客户端:我能连你吗?
    第二次:服务端:可以的
    第三次:客户端:好的,那我连了。


    图片.png

    图片.png

UDP报文结构

图片.png
  • UDP特点


    图片.png

HTTP协议

  • http请求结构


    图片.png

    图片.png
  • http响应结构


    图片.png

    图片.png

HTTP常见状态码

200 OK 正常返回信息
403 Forbidden 服务器收到请求,但是拒绝提供服务
404 Not Found 请求资源不存在 例如:输入了错误的url
500 Internal Server Error 服务器发生了不可预期的错误
503 Server Unavaliable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常

Socket简介

Socket是对 TCP/IP协议的抽象,是操作系统对外开放的接口。


图片.png
  • Socket通信流程


    图片.png
  • 相关案例参考/IdeaProjects/practice/socket下面的代码

HTTP与HTTPS的区别

图片.png
图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 6,414评论 0 6
  • 网络编程的概述 网络编程的实质就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。 一.OSI网络模型...
    思念挥霍阅读 2,939评论 0 0
  • 一、概述 二、计算机网络 1.网络协议 2.网络体系结构 三、OSI参考模型 四、TCP/IP参考模型 五...
    50a5285c9d83阅读 2,383评论 0 0
  • 1. 网络编程概述 1.1 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接...
    JackChen1024阅读 4,647评论 0 3
  • 1.事件:今天上午和爱人又因为一点点的小事我的情绪又出来了。 2.感受:委屈、愤怒、生气、不开心。 3.想法:他不...
    王穆宁阅读 921评论 0 0