題目來(lái)源:python常見面試題——網(wǎng)絡(luò)編程和前端部分
題目:
? ? ? ?1. AJAX是什么聂宾,如何使用AJAX亏吝?
? ? ? ?2. 常見的HTTP狀態(tài)碼有哪些盏混?
? ? ? ?3. Post 和 get 區(qū)別惜论?
? ? ? ?4. cookie 和session 的區(qū)別?
1. AJAX 是什么混聊,如何使用 AJAX 乾巧?
AJAX(Asynchronous JavaScript and XML)即異步JS和XML预愤。其是一種用于創(chuàng)建快速動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù)咳胃,該技術(shù)可以完成在無(wú)需重新加載整個(gè)網(wǎng)頁(yè)、鏈接不被改變的前提下销睁,與服務(wù)器交換數(shù)據(jù)并更新部分網(wǎng)頁(yè)存崖。例如微博下拉加載內(nèi)容。
2. 常見的 HTTP 狀態(tài)碼有哪些冗栗?
? ? ? ?HTTP狀態(tài)碼由三個(gè)十進(jìn)制數(shù)字組成,第一個(gè)十進(jìn)制數(shù)字定義了狀態(tài)碼的類型供搀,后兩個(gè)數(shù)字沒(méi)有分類的作用。HTTP狀態(tài)碼共分為5種類型:
- 信息趁曼,服務(wù)器收到請(qǐng)求,需要請(qǐng)求者繼續(xù)執(zhí)行操作
- 成功挡闰,操作被成功接收并處理
- 重定向,需要進(jìn)一步的操作以完成請(qǐng)求
- 客戶端錯(cuò)誤摄悯,請(qǐng)求包含語(yǔ)法錯(cuò)誤或無(wú)法完成請(qǐng)求
- 服務(wù)器錯(cuò)誤,服務(wù)器在處理請(qǐng)求的過(guò)程中發(fā)生了錯(cuò)誤
狀態(tài)碼 | 含義 | 解釋 |
---|---|---|
200 | OK/正常 | ? ? ? ?請(qǐng)求已正常處理申钩,一般用于相應(yīng)GET和POST請(qǐng)求瘪阁。 |
301 | Moved Permanently/永久性重定向 | 請(qǐng)求的資源已經(jīng)被分配了新的URI,以后應(yīng)使用資源現(xiàn)在所指的URI管跺。 |
302 | Found/找到 | ? ? ? ?臨時(shí)性重定向豁跑。和301相似,但302代表的資源不是永久性移動(dòng),只是臨時(shí)性性質(zhì)的狐蜕。 |
304 | (Not Modified/未修正 | ? ? ? ?資源已找到,但未符合條件請(qǐng)求婆瓜。 |
307 | temporary redirect/暫時(shí)重定向 | ? ? ? ?與302有相同的含義 |
400 | Bad Request/錯(cuò)誤請(qǐng)求 | ? ? ? ?服務(wù)器端無(wú)法理解客戶端發(fā)送的請(qǐng)求湃累,請(qǐng)求報(bào)文中可能存在語(yǔ)法錯(cuò)誤。 |
401 | Unauthorized/未授權(quán) | ? ? ? ?該狀態(tài)碼表示發(fā)送的請(qǐng)求需要有通過(guò)HTTP認(rèn)證(BASIC認(rèn)證蒙秒,DIGEST認(rèn)證)的認(rèn)證信息宵统。 |
403 | Forbidden/禁止 | ? ? ? ?不允許訪問(wèn)那個(gè)資源。該狀態(tài)碼表明對(duì)請(qǐng)求資源的訪問(wèn)被服務(wù)器拒絕了瓢省。(權(quán)限痊班,未授權(quán)IP等) |
404 | Not Found/未找到 | ? ? ? ?服務(wù)器上沒(méi)有請(qǐng)求的資源。路徑錯(cuò)誤等馒胆。 |
410 | Gone/已經(jīng)不存在 | ? ? ? ?告訴客戶端所請(qǐng)求的文檔已經(jīng)不存在并且沒(méi)有更新的地址凝果。410狀態(tài)不同于404,410是在指導(dǎo)文檔已被移走的情況下使用型雳,而404則用于未知原因的無(wú)法訪問(wèn)山害。 |
500 | Internal Server Error/內(nèi)部服務(wù)器錯(cuò)誤 | ? ? ? ?內(nèi)部資源出故障了。該狀態(tài)碼表明服務(wù)器端在執(zhí)行請(qǐng)求時(shí)發(fā)生了錯(cuò)誤柑晒。也有可能是web應(yīng)用存在bug或某些臨時(shí)故障眷射。 |
501 | Not Implemented/未實(shí)現(xiàn) | ? ? ? ?狀態(tài)告訴客戶端服務(wù)器不支持請(qǐng)求中要求的功能。 |
3. Post 和 get 區(qū)別涌庭?
網(wǎng)上找到的所謂標(biāo)準(zhǔn)答案:
? ? ? ?1欧宜、get用于獲取數(shù)據(jù),post用于提交數(shù)據(jù)
? ? ? ?2席镀、get提交參數(shù)追加在url后面夏漱,post參數(shù)可以通過(guò)http body提交
? ? ? ?3、get的url會(huì)有長(zhǎng)度上的限制挂绰,而post的數(shù)據(jù)則可以非常大
? ? ? ?4葵蒂、get提交信息明文顯示在url上,不夠安全践付,post提交的信息不會(huì)在url上顯示
? ? ? ?5永高、get提交可以被瀏覽器緩存,post不會(huì)被瀏覽器緩存
? ? ? ?包括我現(xiàn)在也認(rèn)為以上沒(méi)有什么毛病乏梁,但是有人證明了它們基本上都是有問(wèn)題的:請(qǐng)點(diǎn)我
4. cookie 和 session 的區(qū)別
? ? ? ?1. cookie數(shù)據(jù)存放在客戶的瀏覽器上遇骑,session數(shù)據(jù)放在服務(wù)器上。
? ? ? ?2. cookie不是很安全落萎,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙考慮到安全應(yīng)當(dāng)使用session练链。
? ? ? ?3. session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問(wèn)增多媒鼓,會(huì)比較占用服務(wù)器的性能,型網(wǎng)站會(huì)有專門Session服務(wù)器疚沐。Cookie存在客戶端沒(méi)問(wèn)題。
? ? ? ?4. 單個(gè)cookie保存的數(shù)據(jù)不能超過(guò)4K痴施,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie究流。
? ? ? ?5. 存儲(chǔ)數(shù)據(jù)量方面:session 能夠存儲(chǔ)任意的 java 對(duì)象,cookie 只能存儲(chǔ) String 類型的對(duì)象
? ? ? ? 理解Cookie和Session機(jī)制