网络知识点(TCP与UDP,get与post等)

本文详细对比了TCP与UDP的区别,包括连接方式、可靠性、数据传输特性等;阐述了GET与POST请求的不同之处;解释了进程与线程的主要区别;并提供了MySQL查询优化的相关建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.TCP与UDP的区别

1TCP面向连接;UDP是无连接的,即发送数据之前不需要建立连接

2TCP提供可靠的服务(拥塞控制、数据校验、重传机制,网络开销大);UDP尽最大努力交付,即不保证可靠交付

3TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流; UDP是面向报文,没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)

4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

5TCP首部开销20字节;UDP的首部开销小,只有8个字节

6TCP的逻辑通信信道是全双工的可靠信道;UDP则是不可靠信道

补充:TCPUDP都是传输层的协议!

TCP层:  FTP:21, Telnet:23, SMTP:25

UDP:  DNS:53, TFTP:69, SNMP:161, RIP:520

https: http:80


二. GET和POST的比较

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE对应着对这个资源的4个操作。

1GET请求能够被缓存POST不能

2GET请求会保存在浏览器的浏览记录中,POST不能

3GET请求的URL能够保存为浏览器书签POST不能

4GET请求长度限制(2M浏览器有关),POST可以在php.ini中进行设置

5GET请求主要用以获取数据(不能被修改),POST请求主要用以修改数据

6POST安全性要比GET的安全性高,不会在url中看到


三.进程与线程的区别

1、进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位
线程是进程的一个实体,CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.

2、一个应用程序至少有一个进程,一个进程至少有一个线程。

3、进程有独立的地址空间;线程有自己的堆栈和局部变量,但没有独立的地址空间。

(1)多进程的程序比多线程的程序健壮:一个进程崩溃后,在保护模式下不会对其他进程产生影响;而线程只是一个进程中的不同执行路径,一个线程死掉等于整个进程死掉。

(2)在进程切换时,耗费资源较多,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

4、线程的划分尺度小于进程,使得多线程程序的并发性高。

5、进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。


四.Mysql查询优化

查询优化:

1、查询结果只有一行数据时,使用limit 1

2、为where、order by用到的字段建立索引

3、避免在where中使用!=或<>操作符,避免表达式

4、不要使用order by rand(),非常耗cpu

5、避免使用select*

6、表中只设置一个id,并最好是unsigned,并设置auto_increment标志。不要用varchar

7、尽可能使用not null

8、使用预处理prepared statement,只解析一次

9、固定长度的表会更快





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值