1、 什么是面向对象? 主要的特征是什么?
-
面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加的清晰。将面向过程分析出来的步骤进行封装,一个对象具有特定的属性和方法,一切皆为对象。
-
主要特征:封装,继承,多态。
2、 SESSION 和 COOKIE 的区别是什么?从协议产生的原因于作用说明
-
存储的位置不同 SESSION:存储在服务器端,COOKIE:存储在客户端。
-
存储容量不同 单个cookie保存的数据<=4KB,一个站点最多保存20个Cookie。 对于session来说并没有上限,但出于对服务器端的性能考虑,session内不要存放过多的东西,并且设置session删除机制
-
存储的方式不同 cookie中只能保管ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据;session中能够存储任何类型的数据,包括且不限于string,integer,list,map等。
-
隐私策略不同 cookie对客户端是可见的,他人可以分析存放在本地的cookie并进行cookie欺骗,所以它是不安全的。session存储在服务器上,对客户端是透明对,不存在敏感信息泄漏的风险。
-
跨域支持上不同 cookie支持跨域名访问 session不支持跨域名访问。
3、 HTTP 状态中 302,401,403,500的代码的含义
-
HTTP 中的五大系列: 100 - 信息系列,200 - 成功系列,300 - 重定向系列,400 - 客户端错误,500 服务器错误
-
302 表示所请求的页面已经临时转移至新的URL
-
401 表示合法请求,但对被请求页面的访问被禁止。因为被请求的页面需要身份验证,客户端没有提供或者身份验证失败。
-
403 合法请求,但对被请求页面的访问被禁止。(没有权限)
-
500 请求未完成。服务器遇到不可预知的情况。(服务器内部错误)
4、 PHP中传值与传引用的区别
-
传值与传引用就是引用赋值的方式。涉及到了栈和堆的问题
-
传值就是将一个变量的值复制出来一份给另一个变量。相当于在栈中每一个变量都有一个值,改变一个变量的值另一个不会受到影响。
-
传引用就是将一个变量的值赋值给另一个变量(将值在堆中对应的地址赋值给一个变量,两个变量共用同一个值)当一个变量改变值的时候相对应的另一个变量的值也会发生改变。