- 相關推薦
2015新浪PHP面試試題
1、cookie、session的聯(lián)系和區(qū)別,多臺web服務器如何共享session?
cookie在客戶端保存狀態(tài),session在服務器端保存狀態(tài)。但是由于在服務器端保存狀態(tài)的時候,在客戶端也需要一個標識,所以session也可能要借助cookie來實現(xiàn)保存標識位的作用。
cookie包括名字,值,域,路徑,過期時間。路徑和域構成cookie的作用范圍。cookie如果不設置過期時間,則這個cookie在瀏覽器進程 存在時有效,關閉時銷毀。如果設置了過期時間,則cookie存儲在本地硬盤上,在各瀏覽器進程間可以共享。
session存儲在服務器端,服務器用一種散列表類型的結構存儲信息。當一個連接建立的時候,服務器首先搜索有沒有存儲的session id,如果沒有,則建立一個新的session,將session id返回給客戶端,客戶端可以選擇使用cookie來存儲session id。也可以用其他的方法,比如服務器端將session id附在URL上。
區(qū)別:
(1).cookie在本地,session在服務器端。
(2).cookie不安全,容易被欺騙,session相對安全。
(3).session在服務器端,訪問多了會影響服務器性能。
(4). cookie有大小限制,為3K
多服務器共享session可以嘗試將session存儲在memcache中。
2、http協(xié)議中的post和get有何區(qū)別?
GET用于獲取信息,不應該用于修改信息,pOST可用于更新修改信息。
GET可傳輸數(shù)據(jù)大小和URL有關,而pOST沒有限定大小,大小和服務器配置有關。
GET放在URL中,因此不安全,而pOST傳輸數(shù)據(jù)對于用戶來說是不可見的,所以相對安全。
在ajax: post不被緩存,get被緩存所以一般在請求結尾加Math.random();
SERVER端接受:因為在submit提交的時候是按不同方式進行編碼的,所以服務端在接受的時候會按照不同的方式進行接受!
編碼方式:如果傳遞數(shù)據(jù)是非-ASCII,那么GET一般是不適應的,所以在傳遞的時候會做編碼處理!
3、reqiure的include都可包含文件,二者的區(qū)別何在?
require在包含文件出錯之后返回致命錯誤,跳出運行,而include 在包含文件出錯之后返回警告信息,繼續(xù)運行。
4、php中web上傳文件的原理是什么,如何限制上傳文件的大小?
pHp上傳文件默認大小為2M,設置上傳大小的配置項是upload_max_filesize,post_max_size設置一次pOST中pHp能接收的最大數(shù)據(jù)量,應該比upload_max_filesize大。
5、寫一個函數(shù),可以遍歷文件夾下的所有文件和文件夾。
不知道我的理解是不是不對,如果是簡單的列出文件和文件夾的話,下面兩個應該可以。本人水平菜,沒發(fā)現(xiàn)什么陷阱..考慮了一下,會不會題目是要 求做一個遍歷,把子文件夾下的文件都要顯示出來,這樣的話需要使用遞歸對文件夾進行顯示。對每次scandir出來的條目進行is_dir判斷,是dir 的話遞歸進行下一輪的scandir。
【新浪PHP面試試題】相關文章:
2017基礎php面試題09-26
百度php面試題目09-25
面試試題精選08-08
外企面試英語面試試題09-26
社工面試面試試題及答案08-04
文員面試技巧與面試題08-09
硅谷面試題精選02-03
經(jīng)典求職面試試題08-05
java面試簡答試題09-25
SEO經(jīng)典面試試題09-26