常见的问题总结

1.C/S和B/S模式是什么,它们的优点和缺点是什么?
C/S模式:它就是client/server(客户/服务器模式),它使用的时候通常采用高性能PC、小型机、工作站,在此同时还需具备数据库管理系统(sql_server),客户端需要安装相应的软件才可以进行具体的操作。(需要下载);

B/S模式:他就是brower/server(浏览器、服务器模式),它的使用可以说是非常简单的,通常用户访问的时候,只要我们的电脑或手机上有浏览器(火狐,IE,谷歌,UC浏览器)就可以,浏览器直接通过web_server就可以进行具体的操作(不需要下载);

C/S和B/S有什么优点和缺点?

C/S模式即我们大家都知道的客户服务器模式。通过C/S可以充分利用两边硬件条件的优势,将任务合理的分布到client和server这两个客户端中来实现,现在的软件系统都朝着web这一个方向发展,web和C/S可以共同使用,通过不同的逻辑产生不同的任务。简单来说就是充分利用现在PC机的硬件优势和网络的稳定性,讲逻辑处理分担到客户及和服务器,减轻服务器压力,也使软件产品能实现更好的功能尤其是在视觉效果。

凡事有好就有坏:C/S的缺点更新维护的同时,需同时对客户端和服务器进行共同升级,成本高效率低

B/S模式即我们大家都知道的浏览器服务器模式。他是随着internet技术的兴起对C/S架构所改变而成的。在这中情况下,用户工作界面通过www浏览器来实现,极少部分事务逻辑在前端(brower)来实现,主要事物逻辑还是在server中实现,形成所谓三层结构。

B/S结构主要利用不但成熟的www浏览器技术,结合浏览器的多种script语言(js)和active技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的功能,节约了开发成本,是一种全新的软件构造技术,成为当今软件的首选体系结构。

2.define和defined有什么差别,他们有什么不同呢?

define:定义一个常量,常量是有一定的范围的,可以不通过作用域,进行任何访问。

defined:其实他就是检测一个常量是否有值,在有值的情况下返回true,反之相反,返回false

3.empty和isset有什么差别呢?

empty:检测一个变量是否为空,当一个变量等于0时,empty()认为这个变量等于空。

isset:他的意思很简单,就是判断变量有没有进行设置

4.session和cookie是如何工作的?

session类可以在我们访问一个浏览器或网址的时候,对他进行一定的监控,对他们的状态进行跟踪。session类将每个用户的session进行信息序列化后存储到cookie当中。并对他进行加密,当然你还可以进行把session存储到数据库当中以此来增加安全性。但是这是要求存储到cookie当中的session id  与数据库当中的session id 进行匹配。程序默认只在cookie当中存储session.当页面进行载入的时候,session就会将cookie是否有效的存储到session当中。如果seseion不存在或者已经过期,那么他就会生成一个新的session,并且把它绑定到cookie当中,如果session数据存在,那么它就会对session进行更新,同时cookie也会被更新。每次更新都会生成session_id这个值。

session一旦被初始化,他就会自动运行。

5.命名空间是什么?

从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。

A.php

<?php
 namespace DemoNameSpace;
 class Demo {
	 public function post(){
		 echo "i am post";
	 }
 }
 ?>
Demo.php
<?php
 require_once("A.php");//引进A.php
 require_once("B.php");//引进B.php
 use DemoNameSpace\Demo;//使用A.php中的Demo这个类
 use Demo1NameSpace\Demo1;//使用B.php中的Demo1这个类
 $DemoObj = new Demo;//实例化类
 $DemoObj->post();//通过类指定固定的方法
 echo "</Br>";
 $data = new Demo1;
 $data->get_info();
 echo "</br>";
 $data->get();

6.javascript ajax事件:

<input type="text" onclick="fun()">
<script>
	function fun1(){
		 var ajax=new XMLHttpRequest();
         ajax.onreadystatechange=function(){
         	if(ajax.readyState == 4 && ajax.status == 200){
         		if(ajax.responseText==1){
         			echo "1";
         		}else{
         			echo "2";
         		}
         	}
         }
        ajax.open('post','ajax1.php',true);
        ajax.setRequestHeader("Content-type",'application/x-www-form-urlencoded');
        ajax.send('name='+name+'& pwd='+pwd);
	}
</script>

7.php  超文本域处理器

8.redis 是一个完全开源免费的key-value内存数据库

9.五种数据类型:string,hash(哈希类型),list(链表结构),set(无序集合) zset(有序集合)

10.表单中get和post提交方法的区别:

get是从服务器上获取数据,post是从服务器传送数据

get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内的字段一一对应,在URL中可以看到。post是通过httppost机制,将表单内各个字段与其内容放置在html header内一起传送到action属性所指的URL地址,用户是看不到这个过程的。

对于get 方式,服务器端用request。querystring获取变量的值,对于post方式,服务器端用request.form获取提交的数据

get传动的数据量较小,不能大于2kb.post传动的数据量较大,一般是默认不受限制。但理论上,IIS4中最大量为80kB,IIS5中为100KB

get安全性低,post安全性高。

11.

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
12.
Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。




你可能感兴趣的:(常见的问题总结)