php面试题(自用) 自己整理

1.SESSION与COOKIE的区别是什么?

SESSION存储在服务器端,COOKIE保存在客户端。Session比较安全,cookie用某些手段可以修改,不安全。Session依赖于cookie进行传递。禁用cookie后,session还可以使用,在存储session的文件中,生成sessionID,通过get传参的方式将sessionID传到要实现session共享的页面,读取sessionID,从而从session中获取数据。

2.详述一次完整的HTTP请求过程

这个问题的核心是域名解析和服务器(nginx)解析这两部分,基本上这两部分详细阐述就可以了。
步骤一、解析URL
浏览器会解析当前的URL数据,判断此URL是否为合法的链接。如果是合法链接则正常的向下一步骤前进。如果不是合法的链接,则会执行搜索功能,例如执行百度、360、Google搜索等。
步骤二、解析域名
服务器是以ip的形式存在的。而域名需要解析到ip上,解析IP会有三个小步骤:

  1. 从浏览器自身的缓存中解析此域名数据
  2. 从本地电脑的HOST文件中解析域名
  3. 通过DNS服务器解析域名
    步骤三、拿信息
    这个步骤我们拿到了URL的信息,主要是IP和端口信息。
    步骤四、封包并进行三次握手
    浏览器将请求信息进行打包,通过TCP的三次握手将数据传递至服务器。
    步骤五、服务器解析、处理、返回数据
    服务器通过种种层级、方式拿到传递的数据,对数据进行分析、处理,最后返回响应类MIME类型数据。正常状态码为200,非正常的错误码有404、500、501等等。
    步骤六、浏览器获得、渲染、展现数据
    浏览器从服务器拿到数据、通过加载资源、渲染页面等操作,将页面展现给用户。

HTTP状态中302、403、500代码含义?

一二三四五原则:(即一:消息系列;二:成功系列;三:重定向系列;四:请求错误系列;五:服务器端错误系列。)

200:请求成功,请求的数据随之返回
301:永久性重定向
302:临时转移成功,请求的内容已转移到新位置。
401:当前请求需要用户验证
403:禁止访问 ,服务器拒绝执行请求。
404:请求失败,请求的数据在服务器上未发现。
500:服务器内部错误 ,一般为服务器程序执行错误。
503:服务器临时维护或过载。这个状态是临时性的。

isset()和empty()区别

isset()判断变量是否存在,可以传入多个变量,若其中一个变量不存在则返回假;empty判断变量是否为空为假,只可传一个变量,如果为空为假则返回真。

Http和Https的区别

第一:http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议
第二:http和https使用的是完全不同的连接方式,端口也不一样,前者80 后者443
第三:http连接很简单,是无状态的。https协议是由ssl+http协议构建的可构建的可进行加密传输,身份认证的网络协议。

常用的超全局变量(8个)

$_GET ---------->get传送方式
$_POST --------->post传送方式
$_REQUEST------>可以接收到get和post两种方式的值
$_GLOBALS -------->所有的变量都放在里面
$_FILE --------->上传文件使用
$_SERVER------->系统环境变量
$_SESSION -------->会话控制的使用会用到
$_COOKIE --------->会话控制的使用会用到

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值