IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> http请求过程:二,TCP连接和UDP连接 -> 正文阅读

[网络协议]http请求过程:二,TCP连接和UDP连接

http请求的全部过程

1,浏览器根据域名解析IP地址:DNS域名解析

2,浏览器与web服务器建立TCP连接:TCP连接和UDP连接

3,浏览器给web服务器发送一个HTTP请求:HTTP请求类型

4,服务器端响应HTTP请求,浏览器得到HTML代码

5,浏览器解析HTML代码,请求HTML代码中的资源:什么资源

6,关闭TCP连接,浏览器对页面进行渲染,显示给用户。:关闭TCP连接

http请求过程:二,TCP连接和UDP连接

一起因:简单介绍一下网络通信原理:TCP/IP五层模型

应用层:规定应用程序的数据格式,例如Email数据格式要按照Email协议规定,WWW要按照网页的协议规定。

传输层:建立端口到端口的通信;格式化信息流,提供可靠传输(TCP/UDP)。例如端口是为了识别主机上的应用程序,发送消息的是QQ还是微信。

网络层:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址。例如网络层得到ip区分子网,得到以太网的mac找到主机。

链接层(数据链路层):定义电信号的分组方式,规定位数及含义。例如以太网协议(ethernet),mac地址,广播

物理层:主要是基于电器特性发送高低电压(电信号),只区分高低电压,无意义。利用光缆、电缆、双绞线、无线电波等把计算机连接起来。

注:越下面的层,越靠近硬件;越上面的层,越靠近用户

二经过:TCP协议和UDP协议都是位于传输层的协议,我们首先从传输层谈起。

传输层: 传输层是TCP/IP协议五层模型中的第四层。它提供了应用程序间的通信,它负责数据能够从发送端传输到接收端。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。

①UDP协议:

UDP报文格式:

?

UDP特点:

1.无连接:只知道对端的IP和端口号就可以发送,不需要实现建立连接。

2.不可靠:没有确认机制, 没有重传机制。如果因为网络故障该段无法发到对方, UDP协议层也不会给应用层返回任何错误信息。

3.面向数据报: 应用层交给UDP多长的报文, UDP原样发送既不会拆分,也不会合并。如果发送端调用一次sendto, 发送100个字节, 那么接收端也必须调用对应的一次recvfrom, 接收100个 字节,而不能循环调用10次recvfrom, 每次接收10个字节。所以UDP不能够灵活的控制读写数据的次数和数量。

4.简单快速(高效): 不会因为维护可靠性而花费时间及成本。

5.另外传输的数据有上限,64k

6.UDP的socket既能读又能写,即全双工。

7.没有真正意义上的发送缓冲区; 具有接受缓冲区:

②TCP协议:

TCP报文格式:

?

TCP特点:

1.有连接,通信前要先建立连接(三次握手机制)

2.可靠性,有序,无差错,不丢失,不重复

3.面向字节流,它能将信息分割成组,并在接收端将其重组

4.相对比较复杂,不仅需要维护其可靠性,同时要提高性能

5.既有发送缓冲区,又有接受缓冲区

6.提供拥塞控制和流量控制机制

连接管理机制:

三次握手(建立连接),四次挥手(断开连接)

三结果

  1. TCP协议的应用 :用于可靠传输的情况 比如:文件传输,重要状态更新的场景

  1. UDP协议的应用 :用于高效传输和实时性要求较高的通信领域 比如:早期的QQ,视频传输,另外还可以用于广播

  2. 基于TCP的应用层协议:

    1. HTTP

    2. HTTPS

    3. SSH

    4. Telnet

    5. FTP

    6. SMTP

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-23 16:03:14  更:2021-12-23 16:04:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:36:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码