一茂装、html 部分 1少态,請(qǐng)闡述你對(duì)WEB標(biāo)準(zhǔn)以及W3C的理解與認(rèn)識(shí)標(biāo)簽閉合彼妻、標(biāo)簽小寫(xiě)侨歉、不亂嵌套炮温、提高搜索機(jī)器人搜索幾率柒啤、使用外 鏈css和js腳本、結(jié)構(gòu)行為表現(xiàn)的分離重斑、文件下載與頁(yè)面速度更快窥浪、內(nèi)容能被更多的用戶所訪問(wèn)、內(nèi)容能被更廣泛的設(shè)備所訪問(wèn)假颇、更少的代碼和組件笨鸡,容易維 護(hù)、改版方便辙浑,不需要變動(dòng)頁(yè)面內(nèi)容倦踢、提供打印版本而不需要復(fù)制內(nèi)容辱挥、提高網(wǎng)站易用性般贼; 2哼蛆,請(qǐng)描述一個(gè)網(wǎng)頁(yè)從開(kāi)始請(qǐng)求到最終顯示的完整過(guò)程腮介?一般可分為7個(gè)步驟: 1).在瀏覽器中輸入網(wǎng)址叠洗; 2).發(fā)送至DNS服務(wù)器并獲得域名對(duì)應(yīng)的WEB服務(wù)器的IP地址灭抑; 3).與WEB服務(wù)器建立TCP連接; 4).瀏覽器向WEB服務(wù)器的IP地址發(fā)送相應(yīng)的HTTP請(qǐng)求案腺; 5).WEB服務(wù)器響應(yīng)請(qǐng)求并返回指定的URL的數(shù)據(jù)劈榨,或錯(cuò)誤信息同辣,如果設(shè)定重定向邑闺,則重定向到新的URL地址抵乓。 6).瀏覽器下載數(shù)據(jù)后解析HTML源文件灾炭,解析的過(guò)程中實(shí)現(xiàn)對(duì)頁(yè)面的排版蜈出,解析完成后在瀏覽器中顯示基礎(chǔ)頁(yè)面铡原。 7).分析頁(yè)面中的超鏈接并顯示在當(dāng)前頁(yè)面燕刻,重復(fù)以上過(guò)程直至無(wú)超鏈接需要發(fā)送卵洗,完成全部顯示。 3聚至,xhtml和html有什么區(qū)別HTML是一種基本的WEB網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言脆诉,XHTML是一個(gè)基于XML的置標(biāo)語(yǔ)言最主要的不同:XHTML 元素必須被正確地嵌套。XHTML 元素必須被關(guān)閉。標(biāo)簽名必須用小寫(xiě)字母潜的。XHTML 文檔必須擁有根元素啰挪。 4亡呵,DOCTYPE聲明的作用是什么锰什?嚴(yán)格模式與混雜模式如何區(qū)分汁胆?HTML語(yǔ)言已經(jīng)存在太久了,目前必然會(huì)有一些不同版本的文檔存在铸题。為了能夠讓瀏覽器清楚你的文檔的版本丢间、類型和風(fēng)格千劈,需要在文檔的起始用DOCTYPE聲明指定當(dāng)前文檔的版本和風(fēng)格墙牌。如果在網(wǎng)頁(yè)中提供了版本信息喜滨,則可以有利于驗(yàn)證頁(yè)面中的代碼是否符合當(dāng)前的版本和風(fēng)格虽风。<无牵!DOCTYPE>聲明位于文檔中的最前面茎毁,處于標(biāo)簽之前七蜘,告知瀏覽器的解析器橡卤,用什么文檔類型規(guī)范來(lái)解析這個(gè)文檔。在嚴(yán)格模式(標(biāo)準(zhǔn)模式)中谈为,瀏覽器根據(jù)規(guī)范呈現(xiàn)頁(yè)面伞鲫;在混雜模式中秕脓,頁(yè)面以向后兼容的方式顯示吠架,以防止老站點(diǎn)無(wú)法工作傍药。如果HTML文檔包含形式完整的DOCTYPE拐辽,那么它一般以標(biāo)準(zhǔn)模式呈現(xiàn)。對(duì)于HTML4.01文檔赊舶,包含嚴(yán)格DTD的DOCTYPE常常導(dǎo)致頁(yè)面以標(biāo)準(zhǔn)模式呈現(xiàn)。DOCTYPE不存在或格式不正確會(huì)導(dǎo)致文檔以混雜模式呈現(xiàn)舔痪。 5辙喂,行內(nèi)元素有哪些?塊級(jí)元素有哪些?行內(nèi)元素:a、b秋麸、span灸蟆、img炒考、input帘靡、strong瓤帚、select轩勘、label绊寻、em澄步、button驮俗、textarea塊級(jí)元素:div王凑、ul索烹、li百姓、dl垒拢、dt奔垦、dd椿猎、p犯眠、h1-h6筐咧、blockquote空元素:即系沒(méi)有內(nèi)容的HTML元素嗜浮,例如:br危融、meta吉殃、hr蛋勺、link抱完、input巧娱、img 6禁添,img標(biāo)簽上title與alt屬性的區(qū)別是什么?Alt 當(dāng)圖片不顯示是 用文字代表芹啥。Title 為該屬性提供信息 7墓怀,前端頁(yè)面有哪三層構(gòu)成傀履,分別是什么?作用是什么?結(jié)構(gòu)層 Html 表示層 CSS 行為層 js 8卧秘,簡(jiǎn)要描述常見(jiàn)的瀏覽器內(nèi)核翅敌。IE治专,火狐Firefox张峰,谷歌Chrome,opear铣揉,Safari瀏覽器內(nèi)核賦值對(duì)網(wǎng)頁(yè)語(yǔ)法的解釋并顯示網(wǎng)頁(yè)敌厘,它決定了瀏覽器如何顯示網(wǎng)頁(yè)的內(nèi)容以及頁(yè)面的格式信息朽合。常見(jiàn)的瀏覽器內(nèi)核:IE瀏覽器內(nèi)核:TridentMozilla瀏覽器內(nèi)核锋华,如Firefox:GeckoSafari瀏覽器內(nèi)核毯焕,也是Chrome瀏覽器的內(nèi)核:WebkitChrome瀏覽器和婆咸,Opera瀏覽器內(nèi)核:Blink 9,簡(jiǎn)述一下src與href的區(qū)別href 是指向網(wǎng)絡(luò)資源所在位置侵续,建立和當(dāng)前元素(錨點(diǎn))或當(dāng)前文檔(鏈接)之間的鏈接状蜗,用于超鏈接需五。src是指向外部資源的位置,指向的內(nèi)容將會(huì)嵌入到文檔中當(dāng)前標(biāo)簽所在位置轧坎; 在請(qǐng)求src資源時(shí)會(huì)將其指向的資源下載并應(yīng)用到文檔內(nèi)宏邮,例如js腳本,img圖片和frame等元素缸血。 當(dāng)瀏覽器解析到該元素時(shí)蜜氨,會(huì)暫停其他資源的下載和處理,直到將該資源加載捎泻、編譯渔呵、執(zhí)行完畢, 圖片和框架等元素也如此饭弓,類似于將所指向資源嵌入當(dāng)前標(biāo)簽內(nèi)阀趴。這也是為什么將js腳本放在底部而不是頭部叔汁。 10另假,錨點(diǎn)的作用是什么?如何創(chuàng)建錨點(diǎn)?錨點(diǎn)是文檔中某行的一個(gè)記號(hào)腾么,類似于書(shū)簽殴泰,用于鏈接到文檔中的某個(gè)位置。當(dāng)定義錨點(diǎn)后,我們可以創(chuàng)建直接跳至該錨點(diǎn)(比如頁(yè)面中某個(gè)小節(jié))的鏈接,這樣使用者就無(wú)需不停地滾動(dòng)頁(yè)面來(lái)尋找他們需要的信息了。在使用元素創(chuàng)建錨點(diǎn)時(shí)疤坝,需要使用name屬性為其命名现拒,代碼如下所示:錨點(diǎn)一然后就可以創(chuàng)建鏈接,直接跳轉(zhuǎn)到錨點(diǎn)荤胁,代碼如下所示:回到錨點(diǎn)一二秸苗、html5 部分 1,HTML5為什么只需要寫(xiě)?HTML5不基于SGML,因此不需要對(duì)DTD進(jìn)行引用,但是需要DOCTYPE來(lái)規(guī)范瀏覽器的行為(讓瀏覽器按照它們應(yīng)該的方式來(lái)運(yùn)行)秋柄;HTML4.01基于SGML,所以需要對(duì)DTD進(jìn)行引用娱俺,才能讓瀏覽器知道該文檔所使用的文檔類型疼燥。 2搞莺,新的 HTML5 文檔類型和字符集分別是什么岁歉?HTML5 文檔類型很簡(jiǎn)單:HTML5 使用 UTF-8 編碼示例: 3, HTML5 的Canvas 元素有什么用券坞?Canvas 元素用于在網(wǎng)頁(yè)上繪制圖形,該元素標(biāo)簽強(qiáng)大之處在于可以直接在 HTML 上進(jìn)行圖形操作崔挖,
4,HTML5 有哪些新增的表單元素?HTML5 新增了很多表單元素讓開(kāi)發(fā)者構(gòu)建更優(yōu)秀的 Web 應(yīng)用程序菇用。? ● datalist? ● datetime? ● output? ● keygen? ● date? ● month? ● week? ● time? ● color? ● number? ● range? ● email? ● url? 5,HTML5 廢棄了哪些 HTML4 標(biāo)簽?HTML5 廢棄了一些過(guò)時(shí)的往衷,不合理的 HTML 標(biāo)簽:? ● frame? ● frameset? ● noframe? ● applet? ● big? ● center? ● basefront? 6本讥,HTML5 標(biāo)準(zhǔn)提供了哪些新的 API?HTML5 提供的應(yīng)用程序 API 主要有:? ● Media API? ● Text Track API? ● Application Cache API? ● User Interaction? ● Data Transfer API? ● Command API? ● Constraint Validation API? ● History API? 7,HTML5 應(yīng)用程序緩存和瀏覽器緩存有什么區(qū)別?應(yīng)用程序緩存是 HTML5 的重要特性之一,提供了離線使用的功能,讓?xiě)?yīng)用程序可以獲取本地的網(wǎng)站內(nèi)容篷店,例如 HTML、CSS、圖片以及 JavaScript。這個(gè)特性可以提高網(wǎng)站性能妻导,它的實(shí)現(xiàn)借助于 manifest 文件,如下:…..與傳統(tǒng)瀏覽器緩存相比法焰,它不強(qiáng)制用戶訪問(wèn)的網(wǎng)站內(nèi)容被緩存秧荆。三、css 部分? 1埃仪,什么是盒子模型乙濒?在網(wǎng)頁(yè)中,一個(gè)元素占有空間的大小由幾個(gè)部分構(gòu)成卵蛉,其中包括元素的內(nèi)容(content)颁股,元素的內(nèi)邊距(padding),元素的邊框(border)傻丝,元素的外邊距(margin)四個(gè)部分甘有。這四個(gè)部分占有的空間中,有的部分可以顯示相應(yīng)的內(nèi)容葡缰,而有的部分只用來(lái)分隔相鄰的區(qū)域或區(qū)域梧疲。4個(gè)部分一起構(gòu)成了css中元素的盒模型。? 2运准,什么是CSS Hack?一般來(lái)說(shuō)是針對(duì)不同的瀏覽器寫(xiě)不同的CSS,就是 CSS Hack幌氮。IE瀏覽器Hack一般又分為三種,條件Hack胁澳、屬性級(jí)Hack该互、選擇符Hack(詳細(xì)參考CSS文檔:css文檔)。例如:// 1韭畸、條件Hack// 2宇智、屬性Hack.test{color:#090\9; /* For IE8+ */*color:#f00;? /* For IE7 and earlier */_color:#ff0;? /* For IE6 and earlier */}// 3蔓搞、選擇符Hack* html .test{color:#090;}? ? ? /* For IE6 and earlier */* + html .test{color:#ff0;}? ? /* For IE7 */? 3,清除浮動(dòng)的幾種方式随橘,各自的優(yōu)缺點(diǎn)1.使用空標(biāo)簽清除浮動(dòng) clear:both(理論上能清楚任何標(biāo)簽喂分,,机蔗,增加無(wú)意義的標(biāo)簽)2.使用overflow:auto(空標(biāo)簽元素清除浮動(dòng)而不得不增加無(wú)意代碼的弊端,,使用zoom:1用于兼容IE)3.是用afert偽元素清除浮動(dòng)(用于非IE瀏覽器)? 4蒲祈,CSS引入的方式有哪些? link和@import的區(qū)別是?內(nèi)聯(lián) 內(nèi)嵌 外鏈 導(dǎo)入?yún)^(qū)別 :同時(shí)加載前者無(wú)兼容性,后者CSS2.1以下瀏覽器不支持Link 支持使用javascript改變樣式萝嘁,后者不可? 5梆掸,px和em有什么區(qū)別?px和em都是長(zhǎng)度單位牙言,區(qū)別是酸钦,px的值是固定的,指定是多少就是多少咱枉,計(jì)算比較容易卑硫。em得值不是固定的,并且em會(huì)繼承父級(jí)元素的字體大小蚕断。瀏覽器的默認(rèn)字體高都是16px欢伏。所以未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em四基括、javascript 部分? 1颜懊,解釋jsonp的原理,以及為什么不是真正的ajaxjsonp是動(dòng)態(tài)創(chuàng)建script標(biāo)簽风皿,回調(diào)函數(shù)河爹。而Ajax是頁(yè)面無(wú)刷新請(qǐng)求數(shù)據(jù)操作。利用在頁(yè)面中創(chuàng)建節(jié)點(diǎn)的方法向不同域提交HTTP請(qǐng)求的方法稱為JSONP桐款,這項(xiàng)技術(shù)可以解決跨域提交Ajax請(qǐng)求的問(wèn)題咸这。JSONP的工作原理如下所述: 假設(shè)在http://example1.com/index.php這個(gè)頁(yè)面中向http://example2.com/getinfo.php提交GET請(qǐng)求,我們可以將下面的JavaScript代碼放在http://example1.com/index.php這個(gè)頁(yè)面中來(lái)實(shí)現(xiàn): var eleScript= document.createElement("script"); eleScript.type = "text/javascript"; eleScript.src = "http://example2.com/getinfo.php"; document.getElementsByTagName("HEAD")[0].appendChild(eleScript);當(dāng)GET請(qǐng)求從http://example2.com/getinfo.php返回時(shí)魔眨,可以返回一段JavaScript代碼媳维,這段代碼會(huì)自動(dòng)執(zhí)行,可以用來(lái)負(fù)責(zé)調(diào)用http://example1.com/index.php頁(yè)面中的一個(gè)callback函數(shù)遏暴。 JSONP的最基本的原理是:動(dòng)態(tài)添加一個(gè)標(biāo)簽侄刽,而script標(biāo)簽的src屬性是沒(méi)有跨域的限制的。這樣說(shuō)來(lái)朋凉,這種跨域方式其實(shí)與ajax XmlHttpRequest協(xié)議無(wú)關(guān)了州丹。? 2,解釋javascript的本地對(duì)象,內(nèi)置對(duì)象和宿主對(duì)象本地對(duì)象為array obj regexp等可以new實(shí)例化內(nèi)置對(duì)象為gload Math 等不可以實(shí)例化的宿主為瀏覽器自帶的document,window 等? 3, 列舉流行的 Ajax 框架墓毒?說(shuō)明 Ajax 實(shí)現(xiàn)原理是什么及 json 在 Ajax 中起什么作用吓揪?流行的 Ajax 框架有 jQuery,Prototype所计,Dojo柠辞,MooTools。Ajax 的工作原理是一個(gè)頁(yè)面的指定位置可以加載另一個(gè)頁(yè)面所有的輸出內(nèi)容主胧,這樣就實(shí)現(xiàn)了一個(gè)靜態(tài)頁(yè)面也能獲取到數(shù)據(jù)庫(kù)中的返回?cái)?shù)據(jù)信息了叭首。所以 Ajax 技術(shù)實(shí)現(xiàn)了一個(gè)靜態(tài)網(wǎng)頁(yè)在不刷新整個(gè)頁(yè)面的情況下與服務(wù)器通信,減少了用戶等待時(shí)間讥裤,同時(shí)也從而降低了網(wǎng)絡(luò)流量放棒,增強(qiáng)了客戶體驗(yàn)的友好程度姻报。在使用 Ajax 時(shí)己英,涉及到數(shù)據(jù)傳輸,即將數(shù)據(jù)從服務(wù)器返回到客戶端吴旋,服務(wù)器端和客戶端分別使用不同的腳步語(yǔ)言來(lái)處理數(shù)據(jù)损肛,這就需要一種通用的數(shù)據(jù)格式,XML 和 json 就是最常用的兩種荣瑟,而 json 比 XML 更簡(jiǎn)單治拿。? 4,請(qǐng)寫(xiě)出ajax的優(yōu)點(diǎn)和缺點(diǎn)優(yōu)點(diǎn):無(wú)數(shù)新更新數(shù)據(jù)、異步與服務(wù)器通信笆焰、前端和后端負(fù)載平衡劫谅、基于標(biāo)準(zhǔn)被廣泛支持、界面與應(yīng)用分離缺點(diǎn):安全問(wèn)題嚷掠、對(duì)搜索引擎支持較弱捏检、破壞程序的異常處理機(jī)制、違背URL和資源定位的初衷不皆、? ? ? AJAX不能很好支持移動(dòng)設(shè)備贯城、客戶端過(guò)肥查吊,太多客戶端代碼造成開(kāi)發(fā)上的成本? 5衣形,事件委托是什么?利用冒泡的原理沈贝,把事件加到父級(jí)上犬耻,觸發(fā)執(zhí)行效果踩晶。通俗的講,事件就是onclick枕磁,onmouseover渡蜻,onmouseout,等就是事件透典,委托呢晴楔,就是讓別人來(lái)做顿苇,這個(gè)事件本來(lái)是加在某些元素上的,然而你卻加到別人身上來(lái)做税弃,完成這個(gè)事件纪岁。五、jquery 部分? 1则果、Jquery的美元符號(hào)$有什么作用幔翰?美元符號(hào)$只是”jQuery”的別名,它是jQuery的選擇器西壮,如下代碼:? $(document).ready(function(){? ? ? });當(dāng)然你也可以用jQuery來(lái)代替$遗增,如下代碼:? jQuery(document).ready(function(){? ? ? });jQuery中就是通過(guò)這個(gè)美元符號(hào)來(lái)實(shí)現(xiàn)各種靈活的DOM元素選擇的,例如$(“#main”)即選中id為main的元素款青。? 2做修、body中的onload()函數(shù)和jQuery中的document.ready()有什么區(qū)別?onload()和document.ready()的區(qū)別有以下兩點(diǎn):1)抡草、我們可以在頁(yè)面中使用多個(gè)document.ready()饰及,但只能使用一次onload()。2)康震、document.ready()函數(shù)在頁(yè)面DOM元素加載完以后就會(huì)被調(diào)用燎含,而onload()函數(shù)則要在所有的關(guān)聯(lián)資源(包括圖像、音頻)加載完畢后才會(huì)調(diào)用腿短。? 3屏箍、Jquery中有哪幾種類型的選擇器?從我自己的角度來(lái)講橘忱,可以有3種類型的選擇器赴魁,如下:1)、基本選擇器:直接根據(jù)id鹦付、css類名尚粘、元素名返回匹配的dom元素。2)敲长、層次選擇器:也叫做路徑選擇器郎嫁,可以根據(jù)路徑層次來(lái)選擇相應(yīng)的DOM元素。3)祈噪、過(guò)濾選擇器:在前面的基礎(chǔ)上過(guò)濾相關(guān)條件泽铛,得到匹配的dom元素。4)辑鲤、請(qǐng)使用jQuery將頁(yè)面上的所有元素邊框設(shè)置為2px寬的虛線盔腔?代碼如下:? ? ? ? ? ? ? ? $("*").css("border", "2px dotted red");4、如何使用jQuery實(shí)現(xiàn)點(diǎn)擊按鈕彈出一個(gè)對(duì)話框?代碼如下:html:jQuery:$(document).ready(function ()
{
$(‘#Button1′).click(function () { alert($(‘#inputField’).attr(“value”));
} );
5弛随、$(document).ready() 是個(gè)什么函數(shù)瓢喉?為什么要用它?
ready() 函數(shù)用于在文檔進(jìn)入ready狀態(tài)時(shí)執(zhí)行代碼舀透。
當(dāng)DOM 完全加載(例如HTML被完全解析DOM樹(shù)構(gòu)建完成時(shí))栓票,jQuery允許你執(zhí)行代碼。
使用$(document).ready()的最大好處在于它適用于所有瀏覽器愕够,jQuery幫你解決了跨瀏覽器的難題走贪。
6、你如何使用jQuery設(shè)置一個(gè)屬性值?
$('#obj').attr(name, value)
7惑芭、你如何利用jQuery來(lái)向一個(gè)元素中添加和移除CSS類?
通過(guò)利用 addClass() 和 removeClass() 這兩個(gè) jQuery 方法坠狡。
動(dòng)態(tài)的改變?cè)氐腸lass屬性可以很簡(jiǎn)單例如. 使用類“.active"來(lái)標(biāo)記它們的未激活和激活狀態(tài),等等.
8遂跟、jQuery.get() 和 jQuery.ajax() 方法之間的區(qū)別是什么?
ajax() 方法更強(qiáng)大逃沿,更具可配置性, 讓你可以指定等待多久,以及如何處理錯(cuò)誤漩勤。
get() 方法是一個(gè)只獲取一些數(shù)據(jù)的專門(mén)化方法感挥。
9缩搅、你是如何將一個(gè) HTML 元素添加到 DOM 樹(shù)中的越败?
你可以用 jQuery 方法 appendTo() 將一個(gè) HTML 元素添加到 DOM 樹(shù)中。
這是 jQuery 提供的眾多操控 DOM 的方法中的一個(gè)硼瓣。
你可以通過(guò) appendTo() 方法在指定的 DOM 元素末尾添加一個(gè)現(xiàn)存的元素或者一個(gè)新的 HTML 元素究飞。
10、jQuery 里的 each() 是什么函數(shù)堂鲤?你是如何使用它的亿傅?
each() 函數(shù)就像是 Java 里的一個(gè) Iterator,它允許你遍歷一個(gè)元素集合瘟栖。
你可以傳一個(gè)函數(shù)給 each() 方法葵擎,被調(diào)用的 jQuery 對(duì)象會(huì)在其每個(gè)元素上執(zhí)行傳入的函數(shù)。
有時(shí)這個(gè)問(wèn)題會(huì)緊接著上面一個(gè)問(wèn)題半哟,舉個(gè)例子酬滤,如何在 alert 框里顯示所有選中項(xiàng)。
我們可以用上面的選擇器代碼找出所有選中項(xiàng)寓涨,然后我們?cè)?alert 框中用 each() 方法來(lái)一個(gè)個(gè)打印它們盯串,代碼如下:
$('[name=NameOfSelectedTag] :selected').each(function(selected) {
alert($(selected).text());
});
六、PHP 部分
1戒良、雙引號(hào)和單引號(hào)的區(qū)別体捏。
● 雙引號(hào)解釋變量,單引號(hào)不解釋變量
● 雙引號(hào)里插入單引號(hào),其中單引號(hào)里如果有變量的話几缭,變量解釋
● 雙引號(hào)的變量名后面必須要有一個(gè)非數(shù)字河泳、字母、下劃線的特殊字符年栓,或者用講變量括起來(lái)乔询,否則會(huì)將變量名后面的部分當(dāng)做一個(gè)整體,引起語(yǔ)法錯(cuò)誤
● 雙引號(hào)解釋轉(zhuǎn)義字符韵洋,單引號(hào)不解釋轉(zhuǎn)義字符竿刁,但是解釋'\和\\
● 能使單引號(hào)字符盡量使用單引號(hào),單引號(hào)的效率比雙引號(hào)要高(因?yàn)殡p引號(hào)要先遍歷一遍搪缨,判斷里面有沒(méi)有變量食拜,然后再進(jìn)行操作,而單引號(hào)則不需要判斷)
2副编、常用的超全局變量(8個(gè))负甸。
● $_GET ----->get傳送方式
● $_POST ----->post傳送方式
● $_REQUEST ----->可以接收到get和post兩種方式的值
--------------------------------------------------------------------------------
● $GLOBALS ----->所有的變量都放在里面
● $_FILE ----->上傳文件使用
● $_SERVER ----->系統(tǒng)環(huán)境變量
--------------------------------------------------------------------------------
● $_SESSION ----->會(huì)話控制的時(shí)候會(huì)用到
● $_COOKIE ----->會(huì)話控制的時(shí)候會(huì)用到
3、HTTP中POST痹届、GET呻待、PUT、DELETE方式的區(qū)別队腐。
HTTP定義了與服務(wù)器交互的不同的方法蚕捉,最基本的是POST、GET柴淘、PUT迫淹、DELETE,
與其比不可少的URL的全稱是資源描述符为严,我們可以這樣理解:url描述了一個(gè)網(wǎng)絡(luò)上資源敛熬,
而post、get第股、put应民、delete就是對(duì)這個(gè)資源進(jìn)行增、刪夕吻、改诲锹、查的操作!
4梭冠、PHP介紹辕狰。
Hypertext Preprocessor----超文本預(yù)處理器
Personal Home Page 原始名稱
目標(biāo)用途: 允許web開(kāi)發(fā)人員快速編寫(xiě)動(dòng)態(tài)生成的web頁(yè)面,與其他頁(yè)面相比控漠,PHP是將程序嵌入到HTML文檔中去執(zhí)行蔓倍,效率比完全生成HTML編輯的CGI高很多
HTML: Hypertext Markup Language
創(chuàng)始人: 拉姆斯勒·勒多夫Rasmus Lerdorf悬钳,1968年生,加拿大滑鐵盧大學(xué)
勒多夫最開(kāi)始是為了維護(hù)個(gè)人網(wǎng)頁(yè)偶翅,用prel語(yǔ)言寫(xiě)了維護(hù)程序默勾,之后又用c進(jìn)行了重寫(xiě),最終衍生出php/fi
時(shí)間軸:
● 1995.06.08將PHP/FI公開(kāi)釋出
● 1995 php2.0聚谁,加入了對(duì)MySQL的支持
● 1997 php3.0
● 2000 php4.0
● 2008 php5.0
● 由于php6.0沒(méi)有完全解決Unicode編碼母剥,所以基本沒(méi)有生產(chǎn)線上的應(yīng)用,基本只是一款概念產(chǎn)品形导,很多功能已經(jīng)在php5.3.3和php5.3.4上實(shí)現(xiàn)
常見(jiàn)的IDE(Intergrated Development Environment): 集成開(kāi)發(fā)環(huán)境
● Coda(mac)
● PHPStrom
● Adobe Dreamweaver
● NetBeans
常見(jiàn)文本編輯器环疼,具備代碼高亮:
● NodePad++
● SublimeText
PHP優(yōu)勢(shì)
PHP特性:
● php獨(dú)特混合了C,Java,Prel以及PHP自創(chuàng)的語(yǔ)法
● 可以比CGI或者Prel更快速去執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè),與其他變成語(yǔ)言相比朵耕,PHP是講程序嵌入到HTML文檔中去執(zhí)行炫隶,執(zhí)行效率比完全生成HTML編輯的CGI要高很多,所有的CGI都能實(shí)現(xiàn)
● 支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)
● PHP可以使用C,C++進(jìn)行程序的擴(kuò)展
PHP優(yōu)勢(shì):
● 開(kāi)放源代碼
● 免費(fèi)性
● 快捷性
● 跨平臺(tái)強(qiáng)
● 效率高
● 圖形處理
● 面向?qū)ο?/p>
● 專業(yè)專注
PHP技術(shù)應(yīng)用:
● 靜態(tài)頁(yè)面生成
● 數(shù)據(jù)庫(kù)緩存
● 過(guò)程緩存
● div+css w3c標(biāo)準(zhǔn)
● 大負(fù)荷
● 分布式
● flex
● 支持MVC
● Smarty模塊引擎
PHP認(rèn)證級(jí)別
● 初級(jí) IFE:Index Front Engineer 前端工程師
● 中級(jí) IPE:Index PHP Engineer PHP工程師
● 高級(jí) IAE:Index Architecture Engineer 架構(gòu)工程師
5阎曹、echo伪阶、print_r、print处嫌、var_dump之間的區(qū)別栅贴。
* echo、print是php語(yǔ)句熏迹,var_dump和print_r是函數(shù)
* echo 輸出一個(gè)或多個(gè)字符串檐薯,中間以逗號(hào)隔開(kāi),沒(méi)有返回值是語(yǔ)言結(jié)構(gòu)而不是真正的函數(shù)癣缅,因此不能作為表達(dá)式的一部分使用
* print也是php的一個(gè)關(guān)鍵字厨剪,有返回值 只能打印出簡(jiǎn)單類型變量的值(如int,string)友存,如果字符串顯示成功則返回true,否則返回false
* print_r 可以打印出復(fù)雜類型變量的值(如數(shù)組陶衅、對(duì)象)以列表的形式顯示屡立,并以array、object開(kāi)頭搀军,但print_r輸出布爾值和NULL的結(jié)果沒(méi)有意義膨俐,因?yàn)槎际谴蛴?\n",因此var_dump()函數(shù)更適合調(diào)試
* var_dump() 判斷一個(gè)變量的類型和長(zhǎng)度罩句,并輸出變量的數(shù)值
6焚刺、HTTP狀態(tài)碼。
常見(jiàn)的HTTP狀態(tài)碼:
● 200 - 請(qǐng)求成功
● 301 - 資源(網(wǎng)頁(yè)等)被永久轉(zhuǎn)義到其他URL
● 404 - 請(qǐng)求的資源(網(wǎng)頁(yè)等)不存在
● 505 - 內(nèi)部服務(wù)器錯(cuò)誤
HTTP狀態(tài)碼分類:
● 1** - 信息门烂,服務(wù)器收到的請(qǐng)求乳愉,需要請(qǐng)求者繼續(xù)執(zhí)行操作
● 2** - 成功兄淫,操作被成功接收并處理
● 3** - 重定向,需要進(jìn)一步的操作以完成請(qǐng)求
● 4** - 客戶端錯(cuò)誤蔓姚,請(qǐng)求包含語(yǔ)法錯(cuò)誤或者無(wú)法完成請(qǐng)求
● 5** 服務(wù)器錯(cuò)誤捕虽,服務(wù)器在處理請(qǐng)求的過(guò)程 中發(fā)生了錯(cuò)誤
7、什么是魔術(shù)引號(hào)坡脐。
魔術(shù)引號(hào)是一個(gè)將自動(dòng)將進(jìn)入PHP腳本的數(shù)據(jù)進(jìn)行轉(zhuǎn)義的過(guò)程泄私,最好在編碼時(shí)不要轉(zhuǎn)義而在運(yùn)行時(shí)根據(jù)需要而轉(zhuǎn)義
在一個(gè)項(xiàng)目中,魔術(shù)引號(hào)若是打開(kāi)的話备闲,所有的反斜線(\)晌端、單引號(hào)(')、雙引號(hào)(")恬砂、NULL 字符都會(huì)被自動(dòng)加上一個(gè)反斜線進(jìn)行轉(zhuǎn)義斩松,
這和 addslashes() 作用完全相同。
與之相關(guān)的函數(shù):set_magic_quotes_runtime觉既、magic_quotes_gpc惧盹、addslashes、stripslashes瞪讼。
8钧椰、如何獲取客戶端的ip(要求取得一個(gè)int)和服務(wù)器ip的代碼。
客戶端:$_SERVER["REMOTE_ADDR"];或者getenv('REMOTE_ADDR') ip2long進(jìn)行轉(zhuǎn)換 服務(wù)器端:gethostbyname('www.baidu.com')
9符欠、使用那些工具進(jìn)行版本控制嫡霞。
cvs,svn,git
10、語(yǔ)句include和require的區(qū)別是什么希柿?為避免多次包含同一文件诊沪,可以用(?)語(yǔ)句代替他們。
● require是無(wú)條件包含曾撤,也就是如果一個(gè)流程里加入require端姚,無(wú)論條件成立與否都會(huì)先執(zhí)行require,當(dāng)文件不存在或者無(wú)法打開(kāi)的時(shí)候挤悉,會(huì)提示錯(cuò)誤渐裸,并且會(huì)終止程序執(zhí)行
● include有返回值,而require沒(méi)有(可能因?yàn)槿绱藃equire的速度比include快)装悲,如果被包含的文件不存在的化昏鹃,那么會(huì)提示一個(gè)錯(cuò)誤,但是程序會(huì)繼續(xù)執(zhí)行下去
注意:包含文件不存在或者語(yǔ)法錯(cuò)誤的時(shí)候require是致命的诀诊,而include不是
● require_once表示了只包含一次洞渤,避免了重復(fù)包含