1
+ <!-- TOC -->
2
+
3
+ - [ 一 OSI与TCP/IP各层的结构与功能,都有哪些协议?] ( #一-osi与tcpip各层的结构与功能都有哪些协议 )
4
+ - [ 1.1 应用层] ( #11-应用层 )
5
+ - [ 1.2 运输层] ( #12-运输层 )
6
+ - [ 1.3 网络层] ( #13-网络层 )
7
+ - [ 1.4 数据链路层] ( #14-数据链路层 )
8
+ - [ 1.5 物理层] ( #15-物理层 )
9
+ - [ 1.6 总结一下] ( #16-总结一下 )
10
+ - [ 二 TCP 三次握手和四次挥手(面试常客)] ( #二-tcp-三次握手和四次挥手面试常客 )
11
+ - [ 2.1 TCP 三次握手漫画图解] ( #21-tcp-三次握手漫画图解 )
12
+ - [ 2.2 为什么要三次握手] ( #22-为什么要三次握手 )
13
+ - [ 2.3 为什么要传回 SYN] ( #23-为什么要传回-syn )
14
+ - [ 2.4 传了 SYN,为啥还要传 ACK] ( #24-传了-syn为啥还要传-ack )
15
+ - [ 2.5 为什么要四次挥手] ( #25-为什么要四次挥手 )
16
+ - [ 三 TCP,UDP 协议的区别] ( #三-tcpudp-协议的区别 )
17
+ - [ 四 TCP 协议如何保证可靠传输] ( #四-tcp-协议如何保证可靠传输 )
18
+ - [ 4.1 ARQ协议] ( #41-arq协议 )
19
+ - [ 停止等待ARQ协议] ( #停止等待arq协议 )
20
+ - [ 连续ARQ协议] ( #连续arq协议 )
21
+ - [ 4.2 滑动窗口和流量控制] ( #42-滑动窗口和流量控制 )
22
+ - [ 4.3 拥塞控制] ( #43-拥塞控制 )
23
+ - [ 五 在浏览器中输入url地址 ->> 显示主页的过程(面试常客)] ( #五--在浏览器中输入url地址---显示主页的过程面试常客 )
24
+ - [ 六 状态码] ( #六-状态码 )
25
+ - [ 七 各种协议与HTTP协议之间的关系] ( #七-各种协议与http协议之间的关系 )
26
+ - [ 八 HTTP长连接,短连接] ( #八--http长连接短连接 )
27
+ - [ 九 HTTP是不保存状态的协议,如何保存用户状态?] ( #九-http是不保存状态的协议如何保存用户状态 )
28
+ - [ 十 Cookie的作用是什么?和Session有什么区别?] ( #十-cookie的作用是什么和session有什么区别 )
29
+ - [ 十一 HTTP 1.0和HTTP 1.1的主要区别是什么?] ( #十一-http-10和http-11的主要区别是什么 )
30
+ - [ 建议] ( #建议 )
31
+ - [ 参考] ( #参考 )
32
+
33
+ <!-- /TOC -->
1
34
2
35
## 一 OSI与TCP/IP各层的结构与功能,都有哪些协议?
3
36
37
70
38
71
这里要注意:** 不要把运输层的“用户数据报 UDP ”和网络层的“ IP 数据报”弄混** 。另外,无论是哪一层的数据单元,都可笼统地用“分组”来表示。
39
72
40
-
41
73
这里强调指出,网络层中的“网络”二字已经不是我们通常谈到的具体网络,而是指计算机网络体系结构模型中第三层的名称.
42
74
43
75
互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议(Intert Protocol)和许多路由选择协议,因此互联网的网络层也叫做** 网际层** 或** IP层** 。
106
138
- 服务器-关闭与客户端的连接,发送一个FIN给客户端
107
139
- 客户端-发回 ACK 报文确认,并将确认序号设置为收到序号加1
108
140
109
-
110
141
### 2.5 为什么要四次挥手
111
142
112
143
任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后进入半关闭状态。当另一方也没有数据再发送的时候,则发出连接释放通知,对方确认后就完全关闭了TCP连接。
@@ -220,9 +251,6 @@ TCP的拥塞控制采用了四种算法,即 **慢开始** 、 **拥塞避免**
220
251
221
252
- [ https://segmentfault.com/a/1190000006879700 ] ( https://segmentfault.com/a/1190000006879700 )
222
253
223
-
224
-
225
-
226
254
## 六 状态码
227
255
228
256
![ 状态码] ( https://user-gold-cdn.xitu.io/2018/5/8/1633e19dba27ed00?w=673&h=218&f=png&s=72968 )
@@ -284,8 +312,6 @@ HTTP1.0最早在网页中使用是在1996年,那个时候只是使用一些较
284
312
1 . ** 缓存处理** :在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。
285
313
1 . ** 带宽优化及网络连接的使用** : HTTP1 .0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接。
286
314
287
-
288
-
289
315
## 建议
290
316
非常推荐大家看一下 《图解HTTP》 这本书,这本书页数不多,但是内容很是充实,不管是用来系统的掌握网络方面的一些知识还是说纯粹为了应付面试都有很大帮助。下面的一些文章只是参考。大二学习这门课程的时候,我们使用的教材是 《计算机网络第七版》(谢希仁编著),不推荐大家看这本教材,书非常厚而且知识偏理论,不确定大家能不能心平气和的读完。
291
317
@@ -295,9 +321,3 @@ HTTP1.0最早在网页中使用是在1996年,那个时候只是使用一些较
295
321
- [ https://blog.csdn.net/zixiaomuwu/article/details/60965466 ] ( https://blog.csdn.net/zixiaomuwu/article/details/60965466 )
296
322
- [ https://blog.csdn.net/turn__back/article/details/73743641 ] ( https://blog.csdn.net/turn__back/article/details/73743641 )
297
323
- < https://mp.weixin.qq.com/s/GICbiyJpINrHZ41u_4zT-A? >
298
-
299
-
300
-
301
-
302
-
303
-
0 commit comments