网络

OSI开放式互连参考模型

物理层:传送比特流,通信信道上的,数模转换模数转换,比特流->电流
数据链路层:如何格式化数据,错误纠正,交换机,物理寻址,比特流->逻辑传输线路
网络层:逻辑编址,分组传输,路由选择 IP协议
传输层:分割数据,保证数据段有效到达对端,流量控制 TCP UDP
会话层:不同机器上的用户之间建立管理会话
表示层:不同系统间的通信问题
应用层:固定格式

TCP vs UDP

TCP 是面向连接的,UDP 是面向无连接的
UDP程序结构较简单
TCP 是面向字节流的,UDP 是基于数据报的
TCP 保证数据正确性,UDP 可能丢包
TCP 保证数据顺序,UDP 不保证

TCP三次握手

第一次握手:建立连接,客户端发送SYN seq=x包到服务器,进入SYN_SEND状态
第二次握手:服务器收到客户端SYN包,确认ack=x+1,同时发自己的SYN seq=y,服务端进入SYN_RECV状态
第三次握手:客户端收到SYN+ACK包,像服务器发送确认包ack=y+1,客服进入ESTABLISHED状态
网络_第1张图片

TCP四次挥手

第一次挥手:客户端发送FIN,seq = u进入FIN_WAIT_1状态
第二次挥手:服务端收到FIN,发送ACK=u+1,seq=v,进入CLOSE_WAIT
第三次挥手:服务端发送FIN,seq=w,进入LAST_ACK状态
第四次挥手:客户端收到FIN,seq=u+1 ack=w+1 进入CLOSED状态
网络_第2张图片相关问题:

1.Time_wait作用:确保有足够的时间让对方收到ACK包,避免新旧连接混淆
2.服务器出现大量close_wait:对方关闭socket连接,我方忙于读或者写,没有及时关闭连接。应该释放资源代码,处理请求的线程配置

Cookie VS Session

Cookie
1.由服务器发送给客户端的特殊信息,以文本形式存放在客户端
2.客户端再次请求的时候,会把Cookie回发
3.服务器接收到后,会解析Cookie生成与客户端相对应的内容
存放在客户端,可以减轻服务器压力

Session
1.服务器端的机制,在服务器上保存的信息
2.解析客户端请求并操作session id,按需保存状态信息
存放在服务器,更安全

HTTP

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。
HTTP是应用层协议,TCP是传输层协议,HTTP 对 TCP 连接的使用,分为两种方式:短连接和长连接。HTTP1.0 版本,默认使用的是“短连接,HTTP1.1 中,默认采用的是“Keep-Alive”的方式。
URI 表示请求服务器的路径,定义这么一个资源。而 URL 同时说明要如何访问这个资源(http://)。
HTTP通信使用明文(不加密),不验证通信方的身份无法证明报文的完整性,所以SSL 是“Secure Sockets Layer”应用而生,是HTTP 与 SSL/TSL 的结合使用。

浏览器地址栏键入URL

1.DNS解析
2.TCP连接
3.发送HTTP请求
4.服务器处理请求并返回HTTP报文
5.浏览器解析渲染页面
6.连接结束

你可能感兴趣的:(●项目之旅)