网络层 IP协议
传输层 TCP协议
应用层 HTTP协议
TCP三次握手过程
1 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段,
主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我.
2 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:
我已经收到你的请求了,你可以传输数据了;你要用哪佧序列号作为起始数据段来回应我
3 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:"我已收到回复,我现在要开始传输实际数据了
这样3次握手就完成了,主机A和主机B 就可以传输数据了.
3次握手的特点
没有应用层的数据
SYN这个标志位只有在TCP建产连接时才会被置1
握手完成后SYN标志位被置0
TCP建立连接要进行3次握手,而断开连接要进行4次
1 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求
2 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1
3 由B 端再提出反方向的关闭请求,将FIN置1
4 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.
由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端
和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础
小结TCP与UDP的区别:
1.基于连接与无连接;
2.对系统资源的要求(TCP较多,UDP少);
3.UDP程序结构较简单;
4.流模式与数据报模式 ;
5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。
HTTP特点:
HTTP协议超文本传送协议,是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用
1 支持客户/服务器模式
2 简单快速: 客户向服务器请求服务时,只需传送请求方法和路径.请求方法常用的GET丶HEAD丶 POST.每种方法规定了客户与浏览器联系的类型不同
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快.
3 灵活: HTTP允许传输任意类型的数据对象.正在传输的类型有Content-Type加以标记
4 无连接: 无连接的含义是限制每次连接只处理一个请求.服务器处理完客户请求,并收到客户的应答后,即断开连接.采用这种方式可以节省传输时间.
5 无状态: HTTP协议是无状态协议.无状态是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大.另一方面,在服务器不需要先前信息时它的应答就较快.
当在域名栏敲下回车会经历那些步骤?
1,本地host文件
2 本地DNS缓存
3 DNS服务商->查询对应IP
4 三次握手
5 http请求
6 本地缓存(静态文件)
7 服务端请求 web->php->mysql
8 响应页面内容
9 浏览->渲染
变量是放在内存里的.
一般静态变量会用到递归上.
赋值运算规则
面向对象:
3大特性:
封装丶继承丶多态
5大原则:
1、模块化
面向对象开发方法很自然地支持了把系统分解成模块的设计原则:对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。分解系统为一组具有高内聚和松耦合的模块是模块化的属性。
2、抽象
面向对象方法不仅支持过程抽象,而且支持数据抽象。
3、信息隐藏
在面向对象方法中,信息隐藏通过对象的封装性来实现。
4、低耦合
在面向对象方法中,对象是最基本的模块,因此,耦合主要指不同对象之间相互关联的紧密程度。低耦合是设计的一个重要标准,因为这有助于使得系统中某一部分的变化对其它部分的影响降到最低程度。
5、高内聚
操作内聚;类内聚;具体内聚。
单例模式:
三私一公
1 私有的构造方法 -> 防止类外调用
2 私有的克隆方法 -> 防止克隆
3 私有的静态属性 -> 保存类的使用
3 公共的静态方法 -> 获取类的实例