计算机基础

进程的线程的区别

(1)进程是资源分配的最小单位,线程是程序执行的最小单位。

(2)进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、

堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切

换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。

(3)线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通

信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的难点。但是多进程程序更健壮,多线程

程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有

自己独立的地址空间。

进程间通信的有哪几种方式

管道(Pipe)及有名管道(named pipe):

信号量 .共享内存 .信号(Signal)

报文(Message)队列(消息队列)套接字

线程间资源可以共享吗,

 a. 堆  由于堆是在进程空间中开辟出来的,

 b. 全局变量 它是与具体某一函数无关的,

c. 静态变量 虽然对于局部变量来说,

 d. 文件等公用资源  这个是共享的,

 独享的资源有

 a. 栈 栈是独享的

 b. 寄存器  

进程共享的资源

死锁

 

 

 

 

TCP的特点与UDP区别?

1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;

     UDP尽最大努力交付,即不保证可靠交付

3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的

     UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(IP电话,实时视频会议等)

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

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

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

为什么是2MSL

https://www.zhihu.com/question/67013338

TCP如何保证可靠传输

 

校验和,序列号,确认应答,超时重传,连接管理,流量控制,拥塞控制(1. 慢开始、拥塞避免 2. 快重传、快恢复。)。

TCP的流量控制,当接收方的接收窗口为0的时候该怎么办

发送端就将发出一个探测信号以搞清这个窗口什么时间再次打开。如果发送方从来没有收到ACK信息,

它就一直不断地重试,直到定时器过期(时间按2次方递增)。

TCP的拥塞控制(慢启动,拥塞避免,超时间间隔传输及其快速重传,快速恢复)

流量控制和拥塞控制有什么区别

流量控制往往是指点对点的通信量的控制,即接收端控制发送端,所要做的是一直发送端发送数据的速率,

以便使接收端来得及接收。拥塞控制是让网络能够承受现有的网络负荷,它是一个全局性的过程,涉及所有

的主机、所有的路由器,以及与降低网络传输性能有关的所有因素

HTTP状态码类型有哪些,及其作用

 

 

PUT和POST区别

PUT是幂等的

 HTTP1.0 HTTP1.1 HTTP2.0,这三个有什么区别及其改进

1.0与1.1 :长连接 节约带宽  HOST域

1.1与2.0 多路复用  数据压缩 服务器推送

Restful了解吗说一说Get和Post请求有什么区别

GET请求在URL中传送的参数是有长度限制的,而POST没有。

GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

GET参数通过URL传递,POST放在Request body中。

GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

GET请求只能进行url编码,而POST支持多种编码方式。

GET请求会被浏览器主动cache,而POST不会,除非手动设置。

GET产生的URL地址可以被Bookmark,而POST不可以。

GET在浏览器回退时是无害的,而POST会再次提交请求。

ARP协议

 

 

 

CSRF攻击

https://blog.csdn.net/diu_brother/article/details/88367029

 

XSS攻击

https://blog.csdn.net/weixin_43681537/article/details/84585554 

 

DNS查找过程

 

 网站访问过程

域名解析
为了将消息从你的PC上传到服务器
上.需要用到IP协议、ARP协议和0SPF协议
发起TCP的3次握手
建立TCP连接后发起http请求
服务器响应http请求
浏览器解析htm代码,并请求html代码中的资源(如js、css、图片等)
断开TCP连接
浏览器对页面进行渲染呈现给用户

posted on 2020-03-27 02:32  huangzhihao  阅读(166)  评论(0编辑  收藏  举报