-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2020-04-24日计划: 进程、线程、ip、tcp、http #15
Comments
UDP:把数据包送达应用程序UDP中一个最重要的信息是端口号,端口号其实就是一个数字,每个想访问网络的程序都需要绑定一个端口号。UDP通过端口号把数据包分发给正确的程序。 和IP头一样,端口号会被装进UDP头里面。 UDP没有重传机制。虽说UDP不能保证数据可靠性,但是传输速度却非常快,所以UDP会应用在一些关注速度、但不那么严格要求数据完整性的领域,如在线视频、互动游戏等 |
TCP:把数据完整地送达应用程序TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。相对于UDP,TCP有下面两个特点: 对于数据包丢失的情况,TCP提供重传机制; 和UDP头一样,TCP头除了包含了目标端口和本机端口号外,还提供了用于排序的序列号,以便接收端通过序号来重排数据包。 三次握手建立连接 -> 传输数据 -> 四次挥手断开连接。 到这里你应该就明白了,TCP为了保证数据传输的可靠性,牺牲了数据包的传输速度,因为“三次握手”和“数据包校验机制”等把传输过程中的数据包的数量提高了一倍。 |
浏览器端发起HTTP请求流程
服务器响应HTTP请求
|
浏览器缓存1. 强缓存服务端对于请求的资源,返回了 下次再发起相同的请求时,客户端判断时间没有过期的话,就直接从本地获取缓存的资源了。 强缓存是不经过服务端的。 2. 协商缓存服务端对于请求的资源,会用hash算法计算出一个值,然后通过 客户存储到这个值后,通过请求头附加 如果没有更新的话,则返回 |
进程
http://blog.poetries.top/browser-working-principle/guide/part1/lesson01.html
一个进程就是一个程序的运行实例。详细解释就是,启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,我们把这样的一个运行环境叫进程。
当一个进程关闭之后,操作系统会回收进程所占用的内存。
进程之间的内容相互隔离。如果需要通信,则要用到「进程间通信(IPC)」的机制。
线程
线程是依附于进程的,而进程中使用多线程并行处理能提升运算效率。
进程中的任意一线程执行出错,都会导致整个进程的崩溃。
线程之间共享进程中的数据。
![image](https://user-images.githubusercontent.com/23615778/80275576-ce645900-8714-11ea-8c51-0c5feb642a79.png)
The text was updated successfully, but these errors were encountered: