TCP/UDP/HTTP网络协议以及socket小结

TCP/IP模型与OSI模型

在网上盗来的一张图片
在这里插入图片描述

IP协议(网络层)

ip协议是互联网的基础协议,它是目前最流行的一种网络协议
IP的责任就是把数据从源传送到目的地。它不负责保证传送可靠性,流控制,包顺序和其它对于主机到主机协议来说很普通的服务。

TCP协议(传输层)

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,建立一个连接需要三次握手,而终止一个连接要经过四次挥手。

HTTP协议(应用层)

HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),HTTP协议是建立在TCP协议之上的一种应用。
http一次请求的过程大概如下:

  • 用户在浏览器输入 www.baidu.com
  • dns服务器解析/或者本机hosts,路由器hosts对比 获得ip
  • 浏览器访问默认端口80,则访问的tcp地址为 ip:80
  • tcp协议3次握手,建立连接
  • 发送一个http request请求头
  • 服务器获得http request请求头,表明该次访问为http访问,解析http请求头,获得请求类型,请求格式,以及请求数据(cookie,get,post数据)
  • 服务器发送response响应数据,主动断开
  • 浏览器接收response响应数据,解析响应文本类型,解析数据,断开连接
    https协议中,在请求以及响应时多了一层tls,ssl加密解密协议,默认端口从80变为了443
UDP协议

UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议
广播式数据传输,UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

WebSocket

WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。
实现原理
在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” 。在 WebSocket API,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。在此WebSocket 协议中,为我们实现即时服务带来了两大好处:

  • Header: 互相沟通的Header是很小的-大概只有 2 Bytes
  • Server Push: 服务器的推送,服务器不再被动的接收到浏览器的请求之后才返回数据,而是在有新数据时就主动推送给浏览器
socket

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议
在这里插入图片描述

socket与TCP/IP的对应关系

在这里插入图片描述

Http 与 Socket 的主要区别

Socket 实现服务器与客户端之间的物理连接,并进行数据传输。主要有TCP/UDP两个协议。Socket处于网络协议的传输层。

参考

https://www.php.cn/php-weizijiaocheng-363000.html
https://www.cnblogs.com/baizhanshi/p/8482612.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值