2021-02-28

比較常見的http請求


HTTP協(xié)議?(Hyper Text Transfer Protocol)

HTTP是一個基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù)泳叠,包括html文件吼过、圖像城菊、結(jié)果等谊路,即是一個客戶端和服務(wù)器端請求和應(yīng)答的標(biāo)準(zhǔn)传于。

HTTP協(xié)議特點

1.http無連接:限制每次連接只處理一個請求囱挑,服務(wù)端完成客戶端的請求后,即斷開連接沼溜。(傳輸速度快平挑,減少不必要的連接,但也意味著每一次訪問都要建立一次連接,效率降低)

2.http無狀態(tài):對于事務(wù)處理沒有記憶能力通熄。每一次請求都是獨立的唆涝,不記錄客戶端任何行為。(優(yōu)點解放服務(wù)器唇辨,但可能每次請求會傳輸大量重復(fù)的內(nèi)容信息)

3.客戶端/服務(wù)端模型:客戶端支持web瀏覽器或其他任何客戶端廊酣,服務(wù)器通常是apache或者iis等

4.簡單快速

5.靈活:可以傳輸任何類型的數(shù)據(jù)

客戶端請求消息

客戶端發(fā)送一個請求到服務(wù)器的請求消息包括以下格式:

? ? 請求行,請求頭部赏枚,空行亡驰,請求數(shù)據(jù) (圖片來自網(wǎng)絡(luò))

服務(wù)器響應(yīng)消息

服務(wù)器響應(yīng)包括如下格式:

? ? 狀態(tài)行,消息報頭饿幅,空行凡辱,響應(yīng)正文?

?

序號方法描述

1GET發(fā)送請求來獲得服務(wù)器上的資源,請求體中不會包含請求數(shù)據(jù)诫睬,請求數(shù)據(jù)放在協(xié)議頭中煞茫。另外get支持快取、緩存

摄凡、可保留書簽等续徽。冪等

2POST和get一樣很常見,向服務(wù)器提交資源讓服務(wù)器處理亲澡,比如提交表單钦扭、上傳文件等,可能導(dǎo)致建立新的資源或者對

原有資源的修改床绪。提交的資源放在請求體中客情。不支持快取。非冪等

3HEAD本質(zhì)和get一樣癞己,但是響應(yīng)中沒有呈現(xiàn)數(shù)據(jù)膀斋,而是http的頭信息,主要用來檢查資源或超鏈接的有效性或是否可以可達(dá)痹雅、檢

查網(wǎng)頁是否被串改或更新仰担,獲取頭信息等,特別適用在有限的速度和帶寬下绩社。

4PUT和post類似摔蓝,html表單不支持,發(fā)送資源與服務(wù)器愉耙,并存儲在服務(wù)器指定位置贮尉,要求客戶端事先知

道該位置;比如post是在一個集合上(/province)朴沿,而put是具體某一個資源上(/province/123)猜谚。所以put是安全的,

無論請求多少次,都是在123上更改龄毡,而post可能請求幾次創(chuàng)建了幾次資源渣淤。冪等

5DELETE請求服務(wù)器刪除某資源逸雹。和put都具有破壞性,可能被防火墻攔截。如果是https協(xié)議匈辱,則無需擔(dān)心锄俄。冪等

6CONNECTHTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器源譬。就是把服務(wù)器作為跳板诅诱,去訪問其他網(wǎng)頁

然后把數(shù)據(jù)返回回來,連接成功后屯仗,就可以正常的get搞坝、post了。

7OPTIONS獲取http服務(wù)器支持的http請求方法魁袜,允許客戶端查看服務(wù)器的性能桩撮,比如ajax跨域時的預(yù)檢等。

8TRACE回顯服務(wù)器收到的請求峰弹,主要用于測試或診斷店量。一般禁用,防止被惡意攻擊或盜取信息鞠呈。


GET 和 POST 比較

?GETPOST

點擊返回/刷新按鈕沒有影響數(shù)據(jù)會重新提交

緩存/添加書簽可以不可以

歷史記錄有沒有

編碼類型application/x-www-form-urlencodedapplication/x-www-form-urlencoded?

或 multipart/form-data融师。為二進(jìn)制數(shù)據(jù)使用

多重編碼

是否冪等冪等非冪等

長度限制http協(xié)議沒有限制,但是實際瀏覽器或服務(wù)

器有(最大2048)

理論上沒有蚁吝,可能會收到服務(wù)器配置或內(nèi)存限制

數(shù)據(jù)類型限制只能ASCII旱爆,非ascii都要編碼傳輸沒有限制,允許二進(jìn)制數(shù)據(jù)

安全性數(shù)據(jù)全部展示在url中窘茁,不安全相比get怀伦,通過request body傳遞數(shù)據(jù),比較安全

可見效可見不可見

注意:以上只是一種規(guī)范山林,如果非要給get加上request body空镜,或者給post的url上帶上參數(shù),技術(shù)上沒有任何問題捌朴。

另外曾經(jīng)看到一篇文章聽說『99% 的人都理解錯了 HTTP 中 GET 與 POST 的區(qū)別』?张抄?說砂蔽,get發(fā)送1個tcp包,而post發(fā)送兩個tcp包署惯,后來被驗證這個說法是不正確的左驾,其實get如果也發(fā)送body,則也會發(fā)送Expect:100

PATCH 和 PUT 比較

?PATCHPUT

是否冪等非冪等冪等

粒度局部,最小粒度诡右,節(jié)約網(wǎng)絡(luò)帶寬所有

注意:比如更新一個userinfo安岂,包含name,age,sex等多個字段,如果只修改了age帆吻,如果用put來更新域那,則需要把其他沒有變更的也要提交到服務(wù)器,但是使用patch猜煮,則只需要提交age到服務(wù)器即可次员。這都是協(xié)議層面來討論的。?

GET?

請求示例

GET https://testrail-tools.trendmicro.com/portal/admin/getTimerInitStatus HTTP/1.1Accept: application/json, text/javascript, */*; q=0.01X-Requested-With: XMLHttpRequestReferer: https://testrail-tools.trendmicro.com/portal/admin/toLicenseTimerConfig?id=7Accept-Language: zh-CNAccept-Encoding: gzip, deflateUser-Agent: Mozilla/5.0 (Windows NT10.0; WOW64; Trident/7.0; rv:11.0) like GeckoHost: testrail-tools.trendmicro.comConnection: Keep-AliveCookie: _ga=GA1.2.1909963682.1524537669; _gid=GA1.2.563928490.1529501401

以上對應(yīng)

第1行 請求行

? ??請求方法(get)+空格+url(https://testrail-tools.trendmicro.com/portal/admin/getTimerInitStatus)+空格+協(xié)議版本(HTTP/1.1)

第2-10都是請求頭部

? ?Accept:表示客戶端接受的內(nèi)容類型王带,按照先后順序表示客戶端接收數(shù)據(jù)的先后次序

? ??X-Requested-With:以x開頭的是非http標(biāo)準(zhǔn)淑蔚,一般是某種技術(shù)的出現(xiàn)而定義的;這里是用來判斷是http請求還是ajax請求愕撰。

? ??Referer:從這個頁面訪問請求行里的url

? ??Accept-Language:客戶端接受內(nèi)容返回優(yōu)先選擇的語言

? ??Accept-Encoding:客戶端可以接受的服務(wù)器對返回內(nèi)容進(jìn)行編碼壓縮的格式刹衫。

? ??User-Agent:客戶端運(yùn)行的瀏覽器類型信息。

? ??Host:頭域指定請求的服務(wù)器的地址和端口搞挣,HTTP/1.1必須包括Host带迟,否則返回400

? ??Connection:表示是否需要持久連接。如果web服務(wù)器端看到這里的值為“Keep-Alive”柿究,或者看到請求使用的是HTTP 1.1(HTTP 1.1默認(rèn)進(jìn)行持久連接)邮旷,它就可以利用持久連接的優(yōu)點,當(dāng)頁面包含多個元素時(例如Applet蝇摸,圖片)婶肩,顯著地減少下載所需要的時間。要實現(xiàn)這一點貌夕,?web服務(wù)器需要在返回給客戶端HTTP頭信息中發(fā)送一個Content-Length(返回信息正文的長度)頭律歼,最簡單的實現(xiàn)方法是:先把內(nèi)容寫入ByteArrayOutputStream,然?后在正式寫出內(nèi)容之前計算它的大小啡专。

? ??Cookie:http請求時险毁,會把保存的cookie也發(fā)送服務(wù)器。cookie是保存在客戶端里的们童,分為內(nèi)存cookie和硬盤cookie畔况。前者隨著瀏覽器關(guān)閉而消失,后者由過期時間或者用戶手動清除慧库。因為http請求是無狀態(tài)的跷跪,所以服務(wù)器為了認(rèn)證,會生成sessionid齐板,讓瀏覽器setcookie保存起來吵瞻,每次請求攜帶上認(rèn)證信息葛菇。這部份以后再聊吧。? ??

響應(yīng)示例

HTTP/1.1200OKServer: Apache-Coyote/1.1Cache-Control: privateExpires: Wed,31 Dec196916:00:00PSTX-Application-Context: application:prodContent-Type: application/json;charset=UTF-8Transfer-Encoding: chunkedDate: Wed,20 Jun201815:00:16GMT{"advancewarn":"1","userstatus":"1","ldap":"1","licensealarm":"1","deltempzipfile":"1","sctmlicense":"0","user":"1"}

第1行 狀態(tài)行

第2-8 消息報頭

? ??Server:包含處理請求的服務(wù)器信息橡羞,包含多個產(chǎn)品注釋和標(biāo)識眯停。

? ??Cache-Control:告知緩存機(jī)制是否可以緩存和類型,private是只能當(dāng)前用戶卿泽,不能被共享莺债。

? ??Expires:響應(yīng)過期時間

????X-Application-Context:application配置,這里表示讀取的是application-prod.properties

????Content-Type:返回數(shù)據(jù)的類型和字符編碼格式

????Transfer-Encoding:告知接收端又厉,報文采取了何種編碼九府,chunked表示服務(wù)器無法確定消息大小,一般比如下載等覆致,就采用chunked侄旬。

????Date:返回消息的時間

第 9 行 空行

第 10 行 響應(yīng)正文

? ??消息報頭指定了是返回json字符串。

POST

請求示例

POST https://testrail-tools.trendmicro.com/portal/admin/editTimer HTTP/1.1Host: testrail-tools.trendmicro.comConnection: keep-aliveContent-Length:35Accept: application/json, text/javascript, */*; q=0.01Origin: https://testrail-tools.trendmicro.comX-Requested-With: XMLHttpRequestUser-Agent: Mozilla/5.0 (Windows NT10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36Content-Type: application/x-www-form-urlencoded; charset=UTF-8Referer: https://testrail-tools.trendmicro.com/portal/admin/toAdminTimerConfig?id=7Accept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.9Cookie: _ga=GA1.2.199305797.1501211992; _ga=GA1.1.199305797.1501211992; _gid=GA1.2.56449187.1529562439; _gat_gtag_UA_111346521_2=1type=del&interval=1200&timelag=7200

第1行同 get

第2-13 行 請求頭部

? ??Content-Length:告知服務(wù)器煌妈,請求數(shù)據(jù)的大小

? ??Origin:origin類似refered儡羔,但比refered更人性化,origin只出現(xiàn)在post中璧诵,而origin也不攜帶敏感信息和具體url路徑汰蜘。

? ??Content-Type:http請求提交內(nèi)容的編碼類型,一般只有post需要設(shè)置之宿。application/x-www-form-urlencoded(缺首宀佟)和multipart/form-data。

第14行 空行

第15行 請求數(shù)據(jù)

響應(yīng)示例

HTTP/1.1200OKServer: Apache-Coyote/1.1X-Application-Context: application:prodContent-Type: application/json;charset=UTF-8Transfer-Encoding: chunkedDate: Thu,21 Jun201807:36:58GMT{"result":"edit timer success"}

其他這里就不累述了比被。

說了這么多色难,這么多請求方式都是http協(xié)議的標(biāo)準(zhǔn),你完全可以隨心所欲等缀,全部用post或者全部用get枷莉,但是你要是開發(fā)的是商業(yè)產(chǎn)品,那你就要為你自己的隨便買單咯尺迂。

好比刪除一樣?xùn)|西笤妙,如果用get請求方式:http:/xxx/delete?id=1,那你很快就知道,這些標(biāo)準(zhǔn)也能讓其他人一眼就能知道具體所要做的意思噪裕。?

HTTP狀態(tài)碼

摘自HTTP狀態(tài)碼

HTTP狀態(tài)碼分類

分類分類描述

1**信息蹲盘,服務(wù)器收到請求,需要請求者繼續(xù)執(zhí)行操作

2**成功膳音,操作被成功接收并處理

3**重定向召衔,需要進(jìn)一步的操作以完成請求

4**客戶端錯誤,請求包含語法錯誤或無法完成請求

5**服務(wù)器錯誤严蓖,服務(wù)器在處理請求的過程中發(fā)生了錯誤

HTTP狀態(tài)碼列表

狀態(tài)碼狀態(tài)碼英文名稱中文描述

100Continue繼續(xù)薄嫡。客戶端應(yīng)繼續(xù)其請求

101Switching Protocols切換協(xié)議。服務(wù)器根據(jù)客戶端的請求切換協(xié)議颗胡。只能切換到

更高級的協(xié)議毫深,例如,切換到HTTP的新版本協(xié)議


200OK請求成功毒姨。一般用于GET與POST請求

201Created已創(chuàng)建哑蔫。成功請求并創(chuàng)建了新的資源

202Accepted已接受。已經(jīng)接受請求弧呐,但未處理完成

203Non-Authoritative Information非授權(quán)信息闸迷。請求成功。但返回的meta信息不在原始的服務(wù)器

俘枫,而是一個副本

204No Content無內(nèi)容腥沽。服務(wù)器成功處理,但未返回內(nèi)容鸠蚪。在未更新網(wǎng)頁

的情況下今阳,可確保瀏覽器繼續(xù)顯示當(dāng)前文檔

205Reset Content重置內(nèi)容。服務(wù)器處理成功茅信,用戶終端(例如:瀏覽器)應(yīng)重

置文檔視圖盾舌。可通過此返回碼清除瀏覽器的表單域

206Partial Content部分內(nèi)容蘸鲸。服務(wù)器成功處理了部分GET請求


300Multiple Choices多種選擇妖谴。請求的資源可包括多個位置,相應(yīng)可返回一個

資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇

301Moved Permanently永久移動酌摇。請求的資源已被永久的移動到新URI膝舅,返回信息

會包括新的URI,瀏覽器會自動定向到新URI妙痹。今后任何新的請求

都應(yīng)使用新的URI代替

302Found臨時移動铸史。與301類似。但資源只是臨時被移動怯伊×战危客戶端應(yīng)繼

使用原有URI

303See Other查看其它地址。與301類似耿芹。使用GET和POST請求查看

304Not Modified未修改崭篡。所請求的資源未修改,服務(wù)器返回此狀態(tài)碼時吧秕,不會

返回任何源琉闪。客戶端通常會緩存訪問過的資源砸彬,通過提供一個頭

信息指出客戶端希望只返回在指定日期之后修改的資源

305Use Proxy使用代理颠毙。所請求的資源必須通過代理訪問

306Unused已經(jīng)被廢棄的HTTP狀態(tài)碼

307Temporary Redirect臨時重定向斯入。與302類似。使用GET請求重定向


400Bad Request客戶端請求的語法錯誤蛀蜜,服務(wù)器無法理解

401Unauthorized請求要求用戶的身份認(rèn)證

402Payment Required保留刻两,將來使用

403Forbidden服務(wù)器理解請求客戶端的請求,但是拒絕執(zhí)行此請求

404Not Found服務(wù)器無法根據(jù)客戶端的請求找到資源(網(wǎng)頁)滴某。通過此代

碼磅摹,網(wǎng)站設(shè)計人員可設(shè)置"您所請求的資源無法找到"的個性

頁面

405Method Not Allowed客戶端請求中的方法被禁止

406Not Acceptable服務(wù)器無法根據(jù)客戶端請求的內(nèi)容特性完成請求

407Proxy Authentication Required請求要求代理的身份認(rèn)證,與401類似霎奢,但請求者應(yīng)當(dāng)使用代

理進(jìn)行授權(quán)

408Request Time-out服務(wù)器等待客戶端發(fā)送的請求時間過長户誓,超時

409Conflict服務(wù)器完成客戶端的PUT請求是可能返回此代碼,服務(wù)器處理

請求時發(fā)生了沖突

410Gone客戶端請求的資源已經(jīng)不存在幕侠。410不同于404帝美,如果資源以前有

現(xiàn)在被永久刪除了可使用410代碼,網(wǎng)站設(shè)計人員可通過301代碼

指定資源的新位置

411Length Required服務(wù)器無法處理客戶端發(fā)送的不帶Content-Length的請求信息

412Precondition Failed客戶端請求信息的先決條件錯誤

413Request Entity Too Large由于請求的實體過大橙依,服務(wù)器無法處理证舟,因此拒絕請求。為防

止客戶端的連續(xù)請求窗骑,服務(wù)器可能會關(guān)閉連接女责。如果只

是服務(wù)器暫時無法處理,則會包含一個Retry-After的響應(yīng)信息

414Request-URI Too Large請求的URI過長(URI通常為網(wǎng)址)创译,服務(wù)器無法處理

415Unsupported Media Type服務(wù)器無法處理請求附帶的媒體格式

416Requested range not satisfiable客戶端請求的范圍無效

417Expectation Failed服務(wù)器無法滿足Expect的請求頭信息


500Internal Server Error服務(wù)器內(nèi)部錯誤抵知,無法完成請求

501Not Implemented服務(wù)器不支持請求的功能,無法完成請求

502Bad Gateway充當(dāng)網(wǎng)關(guān)或代理的服務(wù)器软族,從遠(yuǎn)端服務(wù)器接收到了一個無效的請求

503Service Unavailable由于超載或系統(tǒng)維護(hù)刷喜,服務(wù)器暫時的無法處理客戶端的請求

。延時的長度可包含在服務(wù)器的Retry-After頭信息中

504Gateway Time-out充當(dāng)網(wǎng)關(guān)或代理的服務(wù)器立砸,未及時從遠(yuǎn)端服務(wù)器獲取請求

505HTTP Version not supported服務(wù)器不支持請求的HTTP協(xié)議的版本掖疮,無法完成處理


結(jié)束語:其實我們大部分情況下只用到了GET和POST。如果想設(shè)計一個符合RESTful規(guī)范的web應(yīng)用程序颗祝,則這六種方法都會用到浊闪。不過即使暫時不想涉及REST,

了解這六種方法的本質(zhì)仍然是很有作用的螺戳。大家將會發(fā)現(xiàn)搁宾,原來web也是很簡潔明了的。下面再次依次說明這六種方法倔幼。

1盖腿,GET:GET可以說是最常見的了,它本質(zhì)就是發(fā)送一個請求來取得服務(wù)器上的某一資源。資源通過一組HTTP頭和呈現(xiàn)據(jù)(如HTML文本翩腐,或者圖片或者視頻等)返回給客戶端鸟款。

GET請求中,永遠(yuǎn)不會包含呈現(xiàn)數(shù)據(jù)茂卦。

2欠雌,HEAD:HEAD和GET本質(zhì)是一樣的,區(qū)別在于HEAD不含有呈現(xiàn)數(shù)據(jù)疙筹,而僅僅是HTTP頭信息。有的人可能覺得這個方法沒什么用禁炒,其實不是這樣的而咆。

想象一個業(yè)務(wù)情景:欲判斷某個資源是否存在,我們通常使用GET幕袱,但這里用HEAD則意義更加明確暴备。

3,PUT:這個方法比較少見们豌。HTML表單也不支持這個涯捻。本質(zhì)上來講, PUT和POST極為相似望迎,都是向服務(wù)器發(fā)送數(shù)據(jù)障癌,但它們之間有一個重要區(qū)別,

PUT通常指定了資源的存放位置辩尊,而POST則沒有涛浙,POST的數(shù)據(jù)存放位置由服務(wù)器自己決定。舉個例子:如一個用于提交博文的URL摄欲,/addNew轿亮。

如果用PUT,則提交的URL會是像這樣的”/addNew/abc123”胸墙,其中abc123就是這個博文的地址我注。而如果用POST,則這個地址會在提交后由服務(wù)器告知客戶端迟隅。

目前大部分博客都是這樣的但骨。顯然,PUT和POST用途是不一樣的玻淑。具體用哪個還取決于當(dāng)前的業(yè)務(wù)場景嗽冒。

4,DELETE:刪除某一個資源补履√矸唬基本上這個也很少見,不過還是有一些地方比如amazon的S3云服務(wù)里面就用的這個方法來刪除資源箫锤。

5贬蛙,POST:向服務(wù)器提交數(shù)據(jù)雨女。這個方法用途廣泛,幾乎目前所有的提交操作都是靠這個完成阳准。

6氛堕,OPTIONS:這個方法很有趣,但極少使用野蝇。它用于獲取當(dāng)前URL所支持的方法讼稚。若請求成功,則它會在HTTP頭中包含一個名為“Allow”的頭绕沈,值是所支持的方法锐想,如“GET, POST”。



無論從事什么行業(yè)乍狐,只要做好兩件事就夠了赠摇,一個是你的專業(yè)、一個是你的人品浅蚪,專業(yè)決定了你的存在藕帜,人品決定了你的人脈,剩下的就是堅持惜傲,用善良專業(yè)和真誠贏取更多的信任

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洽故,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子盗誊,更是在濱河造成了極大的恐慌收津,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浊伙,死亡現(xiàn)場離奇詭異撞秋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)嚣鄙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門吻贿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哑子,你說我怎么就攤上這事舅列。” “怎么了卧蜓?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵帐要,是天一觀的道長。 經(jīng)常有香客問我弥奸,道長榨惠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮赠橙,結(jié)果婚禮上耽装,老公的妹妹穿的比我還像新娘。我一直安慰自己期揪,他們只是感情好掉奄,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著凤薛,像睡著了一般姓建。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缤苫,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天引瀑,我揣著相機(jī)與錄音,去河邊找鬼榨馁。 笑死,一個胖子當(dāng)著我的面吹牛帜矾,可吹牛的內(nèi)容都是我干的翼虫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼屡萤,長吁一口氣:“原來是場噩夢啊……” “哼珍剑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起死陆,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤招拙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后措译,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體别凤,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年领虹,在試婚紗的時候發(fā)現(xiàn)自己被綠了规哪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡塌衰,死狀恐怖诉稍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情最疆,我是刑警寧澤杯巨,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站努酸,受9級特大地震影響服爷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一层扶、第九天 我趴在偏房一處隱蔽的房頂上張望箫章。 院中可真熱鬧,春花似錦镜会、人聲如沸檬寂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽桶至。三九已至,卻和暖如春匾旭,著一層夾襖步出監(jiān)牢的瞬間镣屹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工价涝, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留女蜈,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓色瘩,卻偏偏與公主長得像伪窖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子居兆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

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

  • 2系列200 OK請求已成功覆山,請求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回。201 Created請求已經(jīng)被實現(xiàn)泥栖,而且...
    Y像夢一樣自由閱讀 3,561評論 1 5
  • 究竟是居家養(yǎng)護(hù)服務(wù)中心家政服務(wù)員的錯簇宽,還是被服務(wù)的需要特殊高端需求的殘障人士的錯? 圖片上的婦女是”上海恒享壽養(yǎng)老...
    破曉之宇閱讀 210評論 0 0
  • 震驚吧享,小白看了都知道的N焊睢!Mysql6000w數(shù)據(jù)表的查詢優(yōu)化到0.023S 創(chuàng)譽(yù)代碼 sycoding 前言 很...
    創(chuàng)譽(yù)代碼閱讀 171評論 0 0
  • 今天感恩節(jié)哎钢颂,感謝一直在我身邊的親朋好友见妒。感恩相遇!感恩不離不棄甸陌。 中午開了第一次的黨會须揣,身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,551評論 0 11
  • 彩排完,天已黑
    劉凱書法閱讀 4,187評論 1 3