一 Django-Web 概要

1赊堪、 Web概要

  1. 早期的web應(yīng)用主要是靜態(tài)頁(yè)面的瀏覽面殖,這些靜態(tài)頁(yè)面使用HTML語(yǔ)言編寫(xiě),放在服務(wù)器上哭廉,用戶(hù)使用瀏覽器通過(guò)HTTP協(xié)議請(qǐng)求服務(wù)器上的web頁(yè)面脊僚,服務(wù)器上的web服務(wù)器軟件接受到用戶(hù)發(fā)送的請(qǐng)求后,讀取請(qǐng)求URI所標(biāo)識(shí)的資源群叶,加上消息包頭發(fā)送給客戶(hù)端的瀏覽器吃挑,瀏覽器解析響應(yīng)中的HTML數(shù)據(jù),向用戶(hù)呈現(xiàn)多姿多彩的HTML頁(yè)面街立。
  2. 但是隨著網(wǎng)絡(luò)的發(fā)展舶衬,很多線(xiàn)下業(yè)務(wù)開(kāi)始向網(wǎng)上發(fā)展,基于Internet的web應(yīng)用也變得越來(lái)越復(fù)雜用戶(hù)所訪(fǎng)問(wèn)的資源已不僅僅局限于服務(wù)器硬盤(pán)上存放的靜態(tài)網(wǎng)頁(yè)赎离,更多的應(yīng)用需要根據(jù)用戶(hù)的請(qǐng)求動(dòng)態(tài)生成網(wǎng)頁(yè)信息逛犹,復(fù)雜的還需要從數(shù)據(jù)庫(kù)中提取信息,經(jīng)過(guò)一定的運(yùn)算梁剔,生成一個(gè)頁(yè)面返回給客戶(hù)
  3. 如何才能實(shí)現(xiàn)? 利用已經(jīng)實(shí)現(xiàn)HTTP協(xié)議的服務(wù)器端軟件虽画,這些軟件預(yù)先給我們留出了擴(kuò)展的接口,我們只需要按照一定的規(guī)則提供相應(yīng)的擴(kuò)展功能荣病,當(dāng)這類(lèi)web服務(wù)器接受到客戶(hù)端請(qǐng)求后码撰,判斷請(qǐng)求是否是訪(fǎng)問(wèn)我們提供的擴(kuò)展功能,如果是个盆,將請(qǐng)求交由我們編寫(xiě)的程序去處理脖岛,處理完成后,程序?qū)⑻幚斫Y(jié)果交回web服務(wù)器軟件颊亮,web服務(wù)器軟件拿到結(jié)果后柴梆,再將結(jié)果作為相應(yīng)信息返回給客戶(hù)端。
  4. 早起使用的web服務(wù)器擴(kuò)展機(jī)制是CGI终惑,它允許用戶(hù)調(diào)用web服務(wù)器上的CGI程序绍在,CGI全稱(chēng) Common Gateway Interface 公共網(wǎng)關(guān)接口,大多數(shù)的CGI程序使用Perl來(lái)編寫(xiě),也有通過(guò)C,Python或PHP編寫(xiě)偿渡,用戶(hù)通過(guò)單擊某個(gè)連接或者直接在瀏覽器的地址欄輸入U(xiǎn)RL來(lái)訪(fǎng)問(wèn)CGI程序臼寄,web服務(wù)器接受到請(qǐng)求后,發(fā)現(xiàn)這個(gè)請(qǐng)求是給CGI程序的溜宽,于是就啟動(dòng)并運(yùn)行這個(gè)CGI程序脯厨,對(duì)用于請(qǐng)求進(jìn)行處理。CGI程序解析請(qǐng)求中的CGI數(shù)據(jù)坑质,處理數(shù)據(jù),并且產(chǎn)生一個(gè)響應(yīng)临梗,這個(gè)響應(yīng)被返回給web服務(wù)器涡扼,web服務(wù)器包裝這個(gè)響應(yīng),以HTTP響應(yīng)的形式發(fā)送給Web瀏覽器盟庞。但是CGI編寫(xiě)困難吃沪,對(duì)用戶(hù)請(qǐng)求的響應(yīng)時(shí)間較長(zhǎng)以進(jìn)程方式運(yùn)行導(dǎo)致性能受限制。

2什猖、Web應(yīng)用歷史

1票彪、單機(jī)程序

軟件從附著于電腦硬件之日起,就在不斷的進(jìn)行著自我完善和演變不狮。從其使用模式的角度出發(fā)降铸,可以簡(jiǎn)單分為單機(jī)程序和網(wǎng)絡(luò)程序。發(fā)展到今時(shí)今日仍有大量的不依賴(lài)網(wǎng)絡(luò)的單機(jī)程序被我們使用摇零,如記事本推掸、Excel、PPT驻仅、ZIP壓縮等軟件都是大家熟知的裝機(jī)必備軟件

2谅畅、網(wǎng)絡(luò)程序

當(dāng)電腦越來(lái)越多的參與到日常生產(chǎn)生活中,單機(jī)程序已經(jīng)不能滿(mǎn)足企業(yè)的需要噪服。企業(yè)級(jí)應(yīng)用要求能夠最大程度的讓更多的客戶(hù)端參與到協(xié)同辦公之中毡泻,所以依賴(lài)于網(wǎng)絡(luò)的程序開(kāi)始大力發(fā)展起來(lái)。

2.1粘优、主機(jī)+終端模式

最早的網(wǎng)絡(luò)程序是基于主機(jī)+終端模式的仇味,也就是整個(gè)應(yīng)用中只有一臺(tái)大型主機(jī),各個(gè)操作地點(diǎn)都是使用一條專(zhuān)線(xiàn)與主機(jī)相連敬飒,終端不提供任何運(yùn)算和界面邪铲,類(lèi)似于Unix形式,所有的運(yùn)算和處理都由主機(jī)來(lái)完成无拗。主機(jī)一般處理能力非常強(qiáng)大带到,并且穩(wěn)定,主要機(jī)型都是由IBM這樣的大公司提供。

主機(jī)-終端模式

但上述模式中揽惹,主機(jī)的高昂的價(jià)格以及擴(kuò)展難被饿、維護(hù)費(fèi)用高等弊端并不是一般企業(yè)所能承受,所以除銀行搪搏、航空訂票狭握、證券等大企業(yè)在使用以外,大多數(shù)企業(yè)開(kāi)始轉(zhuǎn)投CS架構(gòu)的程序疯溺,即客戶(hù)端服務(wù)器架構(gòu)论颅。

2.2、C/S架構(gòu)
1囱嫩、說(shuō)明

CS架構(gòu)的發(fā)展過(guò)程經(jīng)歷了兩層CS架構(gòu)恃疯,三層CS架構(gòu)以及多層CS架構(gòu)的演變。
兩層的CS架構(gòu)是由客戶(hù)端和后面的數(shù)據(jù)庫(kù)組成的墨闲。數(shù)據(jù)庫(kù)用于存放數(shù)據(jù)今妄,并且使用數(shù)據(jù)庫(kù)編程語(yǔ)言編寫(xiě)業(yè)務(wù)邏輯,客戶(hù)端則使用VB鸳碧、VC盾鳞、Delphi這樣的可視化編程方便的語(yǔ)言來(lái)開(kāi)發(fā)客戶(hù)端的輸入輸出界面。用戶(hù)通過(guò)界面向服務(wù)器發(fā)送請(qǐng)求瞻离,服務(wù)器發(fā)回的數(shù)據(jù)則通過(guò)界面進(jìn)行顯示腾仅,服務(wù)器的角色就由數(shù)據(jù)庫(kù)來(lái)充當(dāng)。這樣做的好處就是開(kāi)發(fā)效率高琐脏,滿(mǎn)足企業(yè)需求攒砖。但是這種架構(gòu)存在著很大的弊端,第一是可移植性差日裙,如當(dāng)數(shù)據(jù)庫(kù)從SQL Server更換為Oracle時(shí)就必須將業(yè)務(wù)邏輯用新的語(yǔ)言再重新編寫(xiě)一遍吹艇;第二則是大型系統(tǒng)做不了,因?yàn)榭蛻?hù)端與數(shù)據(jù)庫(kù)需要建立持續(xù)的連接昂拂,而數(shù)據(jù)庫(kù)能夠支持的最大連接數(shù)是有限制的受神。所以在2000年這樣的架構(gòu)流行之后,慢慢的就開(kāi)始向三層CS架構(gòu)轉(zhuǎn)變格侯。
三層的CS架構(gòu)指的是客戶(hù)端+應(yīng)用服務(wù)器+數(shù)據(jù)庫(kù)鼻听,即將混合在數(shù)據(jù)庫(kù)端的業(yè)務(wù)邏輯從中分離出來(lái),放入到應(yīng)用服務(wù)器中联四,數(shù)據(jù)庫(kù)只負(fù)責(zé)數(shù)據(jù)的管理撑碴、存儲(chǔ)及檢索〕眨客戶(hù)端負(fù)責(zé)界面醉拓。三層之中的應(yīng)用服務(wù)器其實(shí)也是程序,類(lèi)似于前面講過(guò)的TCP、Socket編程亿卤,任何支持TCP編程的語(yǔ)言都可以作為應(yīng)用服務(wù)器愤兵。三層CS架構(gòu)的工作流程。

C / S 三層架構(gòu)圖

用戶(hù)通過(guò)GUI(圖形用戶(hù)界面)進(jìn)行操作排吴,然后調(diào)用客戶(hù)端的通信模塊秆乳,通信模塊依據(jù)自定義協(xié)議將請(qǐng)求數(shù)據(jù)打包,通過(guò)網(wǎng)絡(luò)發(fā)送該請(qǐng)求钻哩,到達(dá)應(yīng)用服務(wù)器時(shí)屹堰,應(yīng)用服務(wù)器同樣也有一個(gè)通信模塊,將收到的數(shù)據(jù)包按照協(xié)議進(jìn)行拆包街氢,調(diào)用相應(yīng)的業(yè)務(wù)處理模塊双藕,處理數(shù)據(jù),其中可能需要訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)來(lái)完成數(shù)據(jù)的獲取阳仔,將處理完的結(jié)果再次發(fā)送給通信模塊,通信模塊將結(jié)果按照自定義協(xié)議進(jìn)行打包扣泊,然后將數(shù)據(jù)包發(fā)送給客戶(hù)端的通信模塊近范,客戶(hù)端進(jìn)行拆包獲取響應(yīng)數(shù)據(jù),將結(jié)果顯示在界面上延蟹,更新界面上的數(shù)據(jù)顯示评矩。

這樣的程序結(jié)構(gòu)雖然在一定程度上降低了對(duì)數(shù)據(jù)庫(kù)編程的依賴(lài),并且能夠適應(yīng)大型的應(yīng)用程序阱飘,但數(shù)據(jù)通信模塊的增加卻提升了開(kāi)發(fā)的難度以及整體架構(gòu)的復(fù)雜度斥杜。

2、優(yōu)缺

優(yōu)點(diǎn)

  1. 能充分發(fā)揮客戶(hù)端PC的處理能力沥匈,很多工作可以在客戶(hù)端處理后再提交給服務(wù)器蔗喂,所以CS客戶(hù)端響應(yīng)速度快。
  2. 操作界面漂亮高帖、形式多樣缰儿,可以充分滿(mǎn)足客戶(hù)自身的個(gè)性化要求。
  3. C/S結(jié)構(gòu)的管理信息系統(tǒng)具有較強(qiáng)的事務(wù)處理能力散址,能實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)流程乖阵。
  4. 安全性能可以很容易保證,C/S一般面向相對(duì)固定的用戶(hù)群预麸,程序更加注重流程瞪浸,它可以對(duì)權(quán)限進(jìn)行多層次校驗(yàn),提供了更安全的存取模式吏祸,對(duì)信息安全的控制能力很強(qiáng)对蒲。一般高度機(jī)密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜。
    缺點(diǎn)
  5. 需要專(zhuān)門(mén)的客戶(hù)端安裝程序,分布功能弱齐蔽,針對(duì)點(diǎn)多面廣且不具備網(wǎng)絡(luò)條件的用戶(hù)群體两疚,不能夠?qū)崿F(xiàn)快速部署安裝和配置。
  6. 兼容性差含滴,對(duì)于不同的開(kāi)發(fā)工具诱渤,具有較大的局限性。若采用不同工具谈况,需要重新改寫(xiě)程序勺美。開(kāi)發(fā)、維護(hù)成本較高碑韵,需要具有一定專(zhuān)業(yè)水準(zhǔn)的技術(shù)人員才能完成赡茸,發(fā)生一次升級(jí),則所有客戶(hù)端的程序都需要改變祝闻。
    1. 用戶(hù)群固定占卧。由于程序需要安裝才可使用,因此不適合面向一些不可知的用戶(hù)联喘,所以適用面窄华蜒,通常用于局域網(wǎng)中

3、B/S架構(gòu)

1豁遭、說(shuō)明

為了降低三層CS架構(gòu)中與通信有關(guān)的復(fù)雜度叭喜,BS架構(gòu)開(kāi)始成為了網(wǎng)絡(luò)程序中一大重要的架構(gòu)類(lèi)型。
BS架構(gòu)即Browser + Web Server + DB

B/S三層架構(gòu)圖

由于三層CS架構(gòu)中蓖谢,自定義協(xié)議提升了整體的復(fù)雜度捂蕴,那么就將自定義協(xié)議變成標(biāo)準(zhǔn)的HTTP協(xié)議。于是客戶(hù)端使用HTTP協(xié)議進(jìn)行數(shù)據(jù)打包拆包的程序即各廠(chǎng)商依據(jù)標(biāo)準(zhǔn)開(kāi)發(fā)的瀏覽器闪幽,Web服務(wù)器也是基于HTTP協(xié)議由一些廠(chǎng)商提供啥辨,如IIS,Apache等盯腌。這樣基于瀏覽器和服務(wù)器的架構(gòu)中委可,由于協(xié)議已被限定,所以與通信有關(guān)的數(shù)據(jù)打包拆包的過(guò)程都不用我們開(kāi)發(fā)人員來(lái)編寫(xiě)程序腊嗡,只需要考慮將HTTP協(xié)議解析出來(lái)的數(shù)據(jù)進(jìn)行業(yè)務(wù)處理着倾,以及將什么樣的結(jié)果提供給響應(yīng)即可。也就是開(kāi)發(fā)過(guò)程中只需要考慮7,8,9這三個(gè)步驟即可燕少。于是大大降低了網(wǎng)絡(luò)程序的開(kāi)發(fā)難度卡者,所以這種架構(gòu)得到了大量的應(yīng)用嚼蚀。

2梭域、優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

  1. 分布性強(qiáng)居灯,客戶(hù)端零維護(hù)。只要有網(wǎng)絡(luò)贫贝、瀏覽器犁享,可以隨時(shí)隨地進(jìn)行查詢(xún)澈驼、瀏覽等業(yè)務(wù)處理畏纲。
  2. 業(yè)務(wù)擴(kuò)展簡(jiǎn)單方便,通過(guò)增加網(wǎng)頁(yè)即可增加服務(wù)器功能盈厘。
  3. 維護(hù)簡(jiǎn)單方便睁枕,只需要改變網(wǎng)頁(yè),即可實(shí)現(xiàn)所有用戶(hù)的同步更新沸手。
  4. 開(kāi)發(fā)簡(jiǎn)單外遇,共用性強(qiáng)。
    缺點(diǎn)
  5. 個(gè)性化特點(diǎn)明顯降低契吉,無(wú)法實(shí)現(xiàn)具有個(gè)性化的功能要求跳仿。
  6. 在跨瀏覽器上,BS架構(gòu)不盡如人意捐晶。
  7. 客戶(hù)端服務(wù)器端的交互是請(qǐng)求-響應(yīng)模式菲语,通常動(dòng)態(tài)刷新頁(yè)面,響應(yīng)速度明顯降低(Ajax可以一定程度上解決這個(gè)問(wèn)題)
  8. 在速度和安全性上需要花費(fèi)巨大的設(shè)計(jì)成本惑灵。
  9. 功能弱化谨究,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。

二泣棋、什么WEB應(yīng)用程序

  1. WEB應(yīng)用程序指供瀏覽器訪(fǎng)問(wèn)的程序,通常也簡(jiǎn)稱(chēng)為web應(yīng)用畔塔。例如有x.html 潭辈、x.html…..多個(gè)web資源,這多個(gè)web資源用于對(duì)外提供服務(wù)澈吨,此時(shí)應(yīng)把這多個(gè)web資源放在一個(gè)目錄中把敢,以組成一個(gè)web應(yīng)用程序
  2. 一個(gè)web應(yīng)用由多個(gè)靜態(tài)web資源和動(dòng)態(tài)web資源組成,如:html谅辣、css修赞、js文件,Jsp文件桑阶、java程序柏副、支持jar包、配置文件等等蚣录。
  3. Web應(yīng)用開(kāi)發(fā)好后割择,若想供外界訪(fǎng)問(wèn),需要把web應(yīng)用所在目錄交給web服務(wù)器管理

三萎河、WEB應(yīng)用程序的開(kāi)發(fā)

1荔泳、概要

Web應(yīng)用程序指供瀏覽器訪(fǎng)問(wèn)的程序蕉饼,通常也簡(jiǎn)稱(chēng)為web應(yīng)用

2、靜態(tài)web

  1. 定義
    指web頁(yè)面中供人們?yōu)g覽的數(shù)據(jù)始終是不變,例如 .htm玛歌、.html昧港,這些是網(wǎng)頁(yè)的后綴,用戶(hù)直接訪(fǎng)問(wèn)這些文件就能看到內(nèi)容
  2. 流程示例圖


    img
  3. 缺點(diǎn)
    1支子、Web頁(yè)面中的內(nèi)容無(wú)法動(dòng)態(tài)更新创肥,所有的用戶(hù)每時(shí)每刻看見(jiàn)的內(nèi)容和最終效果都是一樣的。
    2译荞、靜態(tài)WEB無(wú)法連接數(shù)據(jù)庫(kù)瓤的,無(wú)法實(shí)現(xiàn)和用戶(hù)的交互
  4. 靜態(tài)WEB想達(dá)到動(dòng)態(tài)效果需要用到的技術(shù)

    JavaScript(常用)

    JScript

    ScriptEase

    VBScript

3、動(dòng)態(tài)web

  1. 定義
    指web頁(yè)面中瀏覽的數(shù)據(jù)是由程序產(chǎn)生的吞歼,不同時(shí)間點(diǎn),不同地點(diǎn),不同人訪(fǎng)問(wèn)同一個(gè)web頁(yè)面看到的內(nèi)容和界面可能不一樣,而且動(dòng)態(tài)WEB具有交互性圈膏,WEB的頁(yè)面的內(nèi)容可以動(dòng)態(tài)更新
  2. 流程示意圖


    img

    動(dòng)態(tài)WEB中,程序依然使用客戶(hù)端和服務(wù)端篙骡,客戶(hù)端依然使用瀏覽器(IE稽坤、FireFox等),通過(guò)網(wǎng)絡(luò)(Network)連接到服務(wù)器上糯俗,使用HTTP協(xié)議發(fā)起請(qǐng)求(Request)尿褪,現(xiàn)在的所有請(qǐng)求都先經(jīng)過(guò)一個(gè)WEB Server Plugin(服務(wù)器插件)來(lái)處理,此插件用于區(qū)分是請(qǐng)求的是靜態(tài)資源(.htm或者是.htm)還是動(dòng)態(tài)資源得湘。

    如果WEB Server Plugin發(fā)現(xiàn)客戶(hù)端請(qǐng)求的是靜態(tài)資源(.htm或者是.html)杖玲,則將請(qǐng)求直接轉(zhuǎn)交給WEB服務(wù)器,之后WEB服務(wù)器從文件系統(tǒng)中取出內(nèi)容淘正,發(fā)送回客戶(hù)端瀏覽器進(jìn)行解析執(zhí)行摆马。

    如果WEB Server Plugin發(fā)現(xiàn)客戶(hù)端請(qǐng)求的是動(dòng)態(tài)資源(.jsp、.asp/.aspx鸿吆、.php)囤采,則先將請(qǐng)求轉(zhuǎn)交給WEB Container(WEB容器),在WEB Container中連接數(shù)據(jù)庫(kù)惩淳,從數(shù)據(jù)庫(kù)中取出數(shù)據(jù)等一系列操作后動(dòng)態(tài)拼湊頁(yè)面的展示內(nèi)容蕉毯,拼湊頁(yè)面的展示內(nèi)容后,把所有的展示內(nèi)容交給WEB服務(wù)器思犁,之后通過(guò)WEB服務(wù)器將內(nèi)容發(fā)送回客戶(hù)端瀏覽器進(jìn)行解析執(zhí)行

  3. 動(dòng)態(tài)web技術(shù)
    • ASP
    • PHP
    • JSP
    • template語(yǔ)法

四代虾、什么是WEB 服務(wù)器

1、概念

  1. 一臺(tái)負(fù)責(zé)提供網(wǎng)頁(yè)的電腦激蹲,主要是各種編程語(yǔ)言構(gòu)建而成的褐着,通過(guò)HTTP協(xié)議傳給客戶(hù)端。
  2. 一個(gè)提供網(wǎng)頁(yè)的服務(wù)器程序
  3. 服務(wù)器是一種被動(dòng)程序:只有當(dāng)Internet上運(yùn)行在其他計(jì)算機(jī)中的瀏覽器發(fā)出請(qǐng)求時(shí)托呕,服務(wù)器才會(huì)響應(yīng)

2含蓉、常見(jiàn)的WEB服務(wù)器

  1. Nginx服務(wù)器
    Nginx(發(fā)音同engine x)是一個(gè) Web服務(wù)器频敛,也可以用作反向代理,負(fù)載平衡器和 HTTP緩存馅扣。該軟件由 Igor Sysoev 創(chuàng)建斟赚,并于2004年首次公開(kāi)發(fā)布。同名公司成立于2011年差油,以提供支持拗军。
    Nginx 是免費(fèi)的開(kāi)源軟件,根據(jù)類(lèi)似 BSD許可證的條款發(fā)布蓄喇。大部分 Web服務(wù)器通常使用 NGINX 作為反向代理,負(fù)載均衡器发侵。
  2. Gunicorn
    (從Ruby下面的Unicorn得到的啟發(fā))應(yīng)運(yùn)而生:依賴(lài)Nginx的代理行為,同Nginx進(jìn)行功能上的分離妆偏。由于不需要直接處理用戶(hù)來(lái)的請(qǐng)求(都被Nginx先處理)刃鳄,Gunicorn不需要完成相關(guān)的功能,其內(nèi)部邏輯非常簡(jiǎn)單:接受從Nginx來(lái)的動(dòng)態(tài)請(qǐng)求钱骂,處理完之后返回給Nginx叔锐,由后者返回給用戶(hù)
  3. uwsgi
    因?yàn)槭褂肅語(yǔ)言開(kāi)發(fā),會(huì)和底層接觸的更好见秽,配置也是比較方便愉烙,目前和gunicorn兩個(gè)算是部署時(shí)的唯二之選。
  4. Apache服務(wù)器
    Apache HTTP Server(簡(jiǎn)稱(chēng)Apache)是Apache軟件基金會(huì)的一個(gè)開(kāi)放源代碼的網(wǎng)頁(yè)服務(wù)器軟件解取,可以在大多數(shù)電腦操作系統(tǒng)中運(yùn)行步责,由于其跨平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器軟件之一禀苦。它快速可靠蔓肯,并且可以通過(guò)簡(jiǎn)單API擴(kuò)充,將Python/Perl等解析器編譯到服務(wù)器中
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末伦忠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子稿辙,更是在濱河造成了極大的恐慌昆码,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邻储,死亡現(xiàn)場(chǎng)離奇詭異赋咽,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)吨娜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)脓匿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人宦赠,你說(shuō)我怎么就攤上這事陪毡∶啄福” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵毡琉,是天一觀的道長(zhǎng)铁瞒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)桅滋,這世上最難降的妖魔是什么慧耍? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮丐谋,結(jié)果婚禮上芍碧,老公的妹妹穿的比我還像新娘。我一直安慰自己号俐,他們只是感情好泌豆,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著萧落,像睡著了一般践美。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上找岖,一...
    開(kāi)封第一講書(shū)人閱讀 52,682評(píng)論 1 312
  • 那天陨倡,我揣著相機(jī)與錄音,去河邊找鬼许布。 笑死兴革,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜜唾。 我是一名探鬼主播杂曲,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼袁余!你這毒婦竟也來(lái)了擎勘?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤颖榜,失蹤者是張志新(化名)和其女友劉穎棚饵,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掩完,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡噪漾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了且蓬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片欣硼。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖恶阴,靈堂內(nèi)的尸體忽然破棺而出诈胜,到底是詐尸還是另有隱情豹障,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布耘斩,位于F島的核電站沼填,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏括授。R本人自食惡果不足惜坞笙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荚虚。 院中可真熱鬧薛夜,春花似錦、人聲如沸版述。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)渴析。三九已至晚伙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間俭茧,已是汗流浹背咆疗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留母债,地道東北人午磁。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像毡们,于是被迫代替她去往敵國(guó)和親迅皇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容