web框架应具备的功能
web框架應(yīng)具備的功能
目標(biāo)
理清web框架的主要構(gòu)成部分,輔助以后新語(yǔ)言、新框架的學(xué)習(xí)
構(gòu)成
路由
web框架主要用來(lái)處理http請(qǐng)求,路由用于將請(qǐng)求交由制定的控制器方法處理, 以koa koa-router為例,將/home這樣的請(qǐng)求交由隨后的匿名函數(shù)處理。
處理靜態(tài)資源
框架一般會(huì)有處理如html、js、css、png的靜態(tài)資源的機(jī)制,能讓如/main.css的請(qǐng)求映射到靜態(tài)目錄如static下的main.css文件。koa的第三方koa-static中間件提供這樣的功能。
跨域處理
當(dāng)a.example.com的頁(yè)面請(qǐng)求b.example.com的api時(shí),就會(huì)出現(xiàn)跨域的問(wèn)題,可以用jsonp去處理,也可以在后端返回相應(yīng)的跨域headers頭來(lái)處理跨域請(qǐng)求。koa里可以用cors中間件。
請(qǐng)求體解析
框架一般自帶對(duì)請(qǐng)求body的解析,這樣無(wú)論content-type是json、form-data、x-www-form-urlencoded、mutipart/form-data,都能解析出body內(nèi)容。koa原生并沒(méi)有提供body的解析,需要依賴第三方如koa-bodyparser。
cookie
cookie是無(wú)狀態(tài)協(xié)議http的一種狀態(tài)機(jī)制,框架一般支持對(duì)請(qǐng)求頭中的cookie進(jìn)行解析,并提供在上下問(wèn)對(duì)其進(jìn)行訪問(wèn)并修改。
模板引擎
如果不是采用前后端分離的架構(gòu),那么框架一般支持模板引擎,最通常的是添加一個(gè)如renderTemplate的方法,接受模板名稱以及要傳入的參數(shù)。
數(shù)據(jù)庫(kù)操作
框架一般對(duì)數(shù)據(jù)庫(kù)連接、操作有著一些內(nèi)部的實(shí)現(xiàn),即使沒(méi)有,也可以通過(guò)第三方插件方便地接入數(shù)據(jù)庫(kù)操作的能力。
轉(zhuǎn)載于:https://www.cnblogs.com/wrq9/p/9399745.html
總結(jié)
以上是生活随笔為你收集整理的web框架应具备的功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python中控制台输出的颜色方法
- 下一篇: 网站数据分析四:网站用户分析