计算机网络:传输层TCP和应用层HTTP
2019-06-24 20:18
2311 查看
前言
这两天在复习计算机网络的相关知识,看到tcp的时候才反应过来,我到底弄混了多少概念啊。
1.七层模型
图片来源于百度
七层模型是国际标准化组织(ISO)提出的,也有五层,四层,不过都是在七层的基础上变化的,我们还是看七层的。
2.层级协议
网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议
传输层:TCP协议与UDP协议
应用层:FTP、HTTP、TELNET、SMTP、DNS等协议
链路层:ARP,RARP
如上,tcp,udp是属于传输层的协议,跟我一直以为的http和tcp是同一级的完全不一样。
我也不知道为什么我把学的东西都忘了,只能说工作太安逸了吧,接触的东西太简单了。
HTTP((超文本传输协议))
HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.
客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端.在请求结束后,会主动释放连接
http是基于tcp的
[code] HTTP协议是建立在请求/响应模型上的。 首先由客户建立一条与服务器的TCP链接, 并发送一个请求到服务器, 请求中包含请求方法、URL、协议版本以及 相关的MIME样式的消息。服务器响应一个状态行, 包含消息的协议版本、一个成功和失败码以及相关的MIME式样的消息。 HTTP/1.0为每一次HTTP的请求/响应建立一条新的TCP链接, 因此一个包含HTML内容和图片的页面将需要建立多次的短期的TCP链接。 一次TCP链接的建立将需要3次握手。 另外,为了获得适当的传输速度,则需要TCP花费额外的回路链接时间(RTT)。每一次链接的建立需要这种经常性的开销,而其并不带有实际有用的数据,只是保证链接的可靠性,因此HTTP/1.1(Connection:keep-alive)提出了可持续链接的实现方法。 HTTP/1.1将只建立一次TCP的链接而重复地使用它传输一系列的请求/响应消息。 因此减少了链接建立的次数和经常性的链接开销。 http的长短链接本质上是tcp的长短链接
TCP和UDP
tcp和udp的重点在于是传输层协议啊。
[code]TCP 传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前, 必须先在双方之间建立一个TCP连接,之后才能传输数据。 TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能, 保证数据能从一端传到另一端。 理想状态下,TCP连接一旦建立, 在通信双方中的任何一方主动关闭连接前,TCP 连接都将被一直保持下去。 断开连接时服务器和客户端均可以主动发起断开TCP连接的请求 tcp链接要经过三次握手方式 UDP 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。 UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去, 但是并不能保证它们能到达目的地。 由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快
Socket
socket不是协议,准确来说只是一个调用接口。
tcp和udp是传输层协议,可以通过socket来操作tcp和udp.
WebSocket
[code]WebSocket也是一种协议,并且也是基于TCP协议的。是应用层协议 具体流程是WebSocket通过HTTP先发送一个标记了 Upgrade 的请求, 服务端解析后开始建立TCP连接,省去了HTTP长连接每次请求都要上传header的冗余. WebSocket在进行第一次HTTP请求之后,其他全部采用TCP通道进行双向通讯
当初看websocket的时候就看得迷迷糊糊的,看完网上的文章都觉得迷迷糊糊的。
我这篇文章虽然记录了一下,还是不太清楚。还需要记录通信方式才行。
计算机网络这门课,学的时候就想速成。看书也好概念都懂,但要说哪部分协议具体做什么,放什么位置全忘了。
所以建议如果学计算机网络,最好结合图文课件来学习
相关文章推荐
- 计算机网络:传输层(TCP/UDP) 应用层(HTTP) 知识总结
- 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结
- 计算机网络教程-应用层(七)客户-服务器模式、套接字、使用传输层的服务(tcp、udp)
- 计算机网络系列(6)之应用层HTTP
- http,socket,tcp/ip 网络传输与通讯知识总结
- 计算机网络自顶向下 :应用层(简单概念和http协议相关简单介绍)
- 计算机网络基础_4_传输层与应用层的作用
- 计算机网络【六】:传输层-TCP概述 【转】
- 计算机网络应用层之HTTP协议
- Linux C 网络应用总结-- HTTP传输文件
- 移动网络应用开发中,使用 HTTP 协议比起使用 socket 实现基于 TCP 的自定义协议有哪些优势?
- 计算机网络—传输层协议之TCP
- [计算机网络笔记]第三部分——传输层之TCP 拥塞控制
- 计算机网络基础知识--TCP/IP协议、IP分组、TCP传输
- 深入浅出图解【计算机网络】 之 【TCP可靠传输的实现2: 超时重传+拥塞控制】
- 人工智能(PythonNet)—— TCP应用之HTTP传输
- 网络连接:HTTP信息传输(URI、URL)、TCP/IP连接过程、常见状态码
- 【计算机网络】TCP通信的细节及TCP连接对HTTP事务处理性能影响
- 计算机网络实验系列九:TCP可靠传输实验一
- 计算机网络实验系列十一:TCP可靠传输实验三