网络编程笔记,长更

OSI七层网络模型
应用层:Http协议、文件服务器等
表示层:数据转换解决不同系统通信兼容问题
会话层:建立和应用程序的会话连接
传输层:提供端口号和传输协议(tcp、udp)
网络层:为数据实现路由(交换机、路由器)
数据链路层:传输地址帧和错误检测
物理层:以二进制形式,在物理机上实现传输(光纤、专线、其他物理介质)

Socket:任何编程语言都支持Socket(网络编程)技术开发,主要用途是解决两个应用程序通讯的问题。Socket技术支持(TCP、UDP)
TCP和UDP的区别:
TCP协议是一个可靠的协议,因为建立连接的时候必须通过三次握手才可以实现数据传输,所以数据不会丢失。
应用场景:http协议、rpc框架。
UDP协议是面向无连接协议,udp通讯的时候不需要接受对方是否存在,使用不可靠传输,可能存在丢包。

TCP三次握手:
第一次握手:客户端向服务端发送消息,确认服务端是否存在。
第二次握手:服务端收到客户端询问,服务端回复客户端确认收到。
第三次握手:客户端收到响应,客户端会正式给服务端传输数据。
三次握手全部成功开始建立传输。
syn(建立连接)、ack(确认标记)、fin(终止标记)
①第一次握手:客户端向服务端发送代码 syn=1,随机产生一个数seq=x(随机数)发送到服务端。
②第二次握手:服务器端确认收到syn和x,回复客户端ack=x+1和seq=y(随机数)
③第三次握手:客户端接收syn、ack、y之后向服务器发送ack=y+1,发送完毕后立刻创建连接。

四次挥手
第一次挥手:客户端向服务端发送一个释放连接通知
第二次挥手:服务端接到后告诉客户端等待一下,因为可能有数据没有发送完毕,等待数据全部传输完毕后关闭连接
第三次挥手:服务端所有数据传输完毕后,告诉客户端可以释放连接
第四次挥手:客户端确认后释放连接通知,并向服务端发送可以关闭连接指令

Http协议是一种超文本的传输协议,基于Tcp/ip协议实现的包装,img,css,html
Http协议默认端口号80 铭文传输
Https协议默认端口443 加密传输
Https比http协议要安全,ssl+证书实现传输
Http特征:
①无状态:没有记忆会话,token、jwt
②请求(req)与相应模型(resp)
③简单快捷
④灵活可以传输任何类型
请求:

  • 请求头
  • 请求类型
  • 请求方法
    响应:
  • 响应头
  • 响应体

Http协议1.0
规定客户端与服务器传输完成后,马上关闭连接。
Http协议1.1
规定客户端与服务端传输支持长连接。

长连接:服务端与客户端连接后不会马上关闭,会保持一定复用机制,默认情况在300s空闲时会自动断开连接。
短连接:客户端与服务器端发送消息后会马上关闭连接,如果频繁发送http请求,可能会消耗服务器资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值