php知识点(05-22)

OSI七层网络模型的名称,由下到上

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

Linux下的find命令和grep命令的区别

Find:按照文件名查找

Grep:按照文件内容查找

Memcache缓存的工作原理

Memcahce是把所有的数据保存在内存当中,采用hash表的方式,每条数据又key和value组成,每个key是独一无二的,当要访问某个值的时候先按照找到

值,然后返回结果。Memcahce采用LRU算法来逐渐把过期数据清除掉

Session的工作原理

当客户端访问服务器时,服务器根据需求设置session,将会话信息保存在服务器上,同时将标示session的session_id传递给客户端浏览器,

浏览器将这个session_id保存在内存中(还有其他的存储方式,例如写在url中),我们称之为无过期时间的cookie。

默认的session是保存在files中,即以文件的方式保存session数据。在php中主要根据php.ini的配置session.save_handler

 来选择保存session的方式

php-fpm以及php-cgi, fast-cgi,以及与nginx的关系

在整个网站架构中,Web Server(如Apache)只是内容的分发者。举个栗子,如果客户端请求的是 index.html,那么Web Server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据


php知识点(05-22)_第1张图片
返回静态文件

如果请求的是 index.php,根据配置文件,Web Server知道这个不是静态文件,需要去找 PHP 解析器来处理,那么他会把这个请求简单处理,然后交给PHP解析器


php知识点(05-22)_第2张图片
php文件

当Web Server收到 index.php 这个请求后,会启动对应的 CGI 程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程,Web server再把结果返回给浏览器。这就是一个完整的动态PHP Web访问流程

CGI:是 Web Server 与 Web Application 之间数据交换的一种协议。

FastCGI:同 CGI,是一种通信协议,但比 CGI 在效率上做了一些优化。同样,SCGI 协议与 FastCGI 类似。

PHP-CGI:是 PHP (Web Application)对 Web Server 提供的 CGI 协议的接口程序。

PHP-FPM:是 PHP(Web Application)对 Web Server 提供的 FastCGI 协议的接口程序,额外还提供了相对智能一些任务管理。

WEB 中,

Web Server 一般指Apache、Nginx、IIS、Lighttpd、Tomcat等服务器,

Web Application 一般指PHP、Java、Asp.net等应用程序

你可能感兴趣的:(php知识点(05-22))