TCP共有6个标志位,分别是:
SYN(synchronous),建立联机。
ACK(acknowledgement),确认。
PSH(push),传输。
FIN(finish),结束。
RST(reset),重置。
URG(urgent),紧急。
TCP三次握手
第一次握手,客户端发了个连接请求消息到服务端,服务端收到信息后知道自己与客户端是可以连接成功的,但此时客户端并不知道服务端是否已经接收到了它的请求,所以服务端接收到消息后的应答,客户端得到服务端的反馈后,才确定自己与服务端是可以连接上的,这就是第二次握手。第三次握手是为了防止已经失效的连接请求报文段突然又传到服务端,因而产生错误。
完成三次握手,客户端与服务器开始传送数据
具体可参考 https://baijiahao.baidu.com/s?id=1614404084382122793&wfr=spider&for=pc
什么情况服务端不返回ACK
当开启了tcp_tw_recycle选项后,当连接进入TIME_WAIT状态后,会记录对应远端主机最后到达分节的时间戳。如果同样的主机有新的分节到达,且时间戳小于之前记录的时间戳,即视为无效,相应的数据包会被丢弃(rfc1323)。
服务器同时设置tcp_timestamps=1和tcp_tw_recycle=1,就会缓存每个客户端TCP通信数据包中最新的时间戳,后续请求中如果时间戳小于缓存的时间戳,即视为无效,相应的数据包会被直接丢弃。
TCP四次挥手
(1) TCP客户端发送一个FIN报文,用来关闭客户到服务器的数据传送。
(2) 服务器收到这个FIN报文,它发回一个ACK报文,确认序号为收到的序号加1。和SYN一样,一个FIN报文将占用一个序号。
(3) 服务器关闭客户端的连接,发送一个FIN给客户端。
(4) 客户端发回ACK报文确认,并将确认序号设置为收到序号加1。
计算机网络体系
TCP和UDP区别
具体可参考 https://www.cnblogs.com/williamjie/p/9390164.html
输入网址后的全过程
3. 浏览器给web服务器发送一个HTTP请求
4. 服务端的永久重定向响应
5. 浏览器跟踪重定向地址
6. 服务器“处理”请求
7. 服务器发回一个HTML响应
8. 浏览器开始显示HTML
//9. 浏览器发送获取嵌入在HTML中的对象
//10. 浏览器发送异步(AJAX)请求
具体可参考 https://www.cnblogs.com/linyx/p/3985160.html
http状态码
HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。
如404 Not found; 200 OK
1开头 消息
2 成功
3 重定向
4 请求错误
5 服务器错误
具体可参考百度百科 https://baike.baidu.com/item/HTTP状态码/5053660?fr=aladdin
如果5开头,如何具体定位问题
通常我们使用WebException进行捕获
具体可参考 https://blog.csdn.net/hexieshangwang/article/details/47192689
https为什么是安全的
负载均衡
原文:https://www.cnblogs.com/Annetree/p/13511563.html