HTTP

常見的 HTTP 響應(yīng)狀態(tài)碼

在一個(gè) HTTP 請求的響應(yīng)報(bào)文中的狀態(tài)行會有一個(gè)響應(yīng)狀態(tài)碼

這個(gè)狀態(tài)碼是用來描述本次響應(yīng)的狀態(tài)的

通常會出現(xiàn)五種狀態(tài)碼

100 ~ 199

200 ~ 299

300 ~ 399

400 ~ 499

500 ~ 599

100 ~ 199


一般我們看不到,因?yàn)楸硎菊埱罄^續(xù)

100:? 繼續(xù)請求篮绿,前面的一部分內(nèi)容服務(wù)端已經(jīng)接受到了片酝,正在等待后續(xù)內(nèi)容

101: 請求者已經(jīng)準(zhǔn)備切換協(xié)議妄壶,服務(wù)器頁表示同意


200 ~ 299

2 開頭的都是表示成功,本次請求成功了,只不過不一樣的狀態(tài)碼有不一樣的含義(語義化)

*200: 標(biāo)準(zhǔn)請求響應(yīng)成功(一般表示服務(wù)端提供的是網(wǎng)頁)

201: 創(chuàng)建成功(一般是注冊的時(shí)候出皇,表示新用戶信息已經(jīng)添加到數(shù)據(jù)庫)

203: 表示服務(wù)器已經(jīng)成功處理了請求篷朵,但是返回的信息可能來自另一源

204: 服務(wù)端已經(jīng)成功處理了請求,但是沒有任何數(shù)據(jù)返回


300 ~ 399

3 開頭也是成功的一種糠聪,但是一般表示重定向

*301: 永久重定向

*302: 臨時(shí)重定向

*304: 使用的是緩存的數(shù)據(jù)

305: 使用代理


400 ~ 499

4 開頭表示客戶端出現(xiàn)錯誤了

400: 請求的語法服務(wù)端不認(rèn)識

401: 未授權(quán)(你要登錄的網(wǎng)站需要授權(quán)登錄)

403: 服務(wù)器拒絕了你的請求

*404: 服務(wù)器找不到你請求的 URL

407: 你的代理沒有授權(quán)

408: 請求超時(shí)

410: 你請求的數(shù)據(jù)已經(jīng)被服務(wù)端永久刪除


500 ~ 599

5 開頭的表示服務(wù)端出現(xiàn)了錯誤

*500: 服務(wù)器內(nèi)部錯誤

503: 服務(wù)器當(dāng)前不可用(過載或者維護(hù))

505: 請求的協(xié)議服務(wù)器不支持


常見的 HTTP 請求方式

每一個(gè) HTTP 請求在請求行里面會有一個(gè)東西叫做請求方式

不同的請求方式代表的含義不同

GET: 一般用于獲取一些信息使用(獲取列表)

POST: 一般用于發(fā)送一些數(shù)據(jù)給服務(wù)端(登錄)

PUT: 一般用于發(fā)送一些數(shù)據(jù)給服務(wù)當(dāng)讓其添加新數(shù)據(jù)(注冊)

DELETE: 一般用于刪除某些數(shù)據(jù)

HEAD: 類似于 GET 的請求荒椭,只不過一般沒有響應(yīng)的具體內(nèi)容,用于獲取報(bào)文頭

CONNECT: HTTP/1.1 中預(yù)留的方式舰蟆,一般用于管道鏈接改變?yōu)榇淼臅r(shí)候使用

PATCH: 是和 PUT 方式類似的一個(gè)方式趣惠,一般用于更新局部數(shù)據(jù)

OPTIONS: 允許客戶端查看服務(wù)端性能


我們比較常用的就是 GET 和 POST

GET 請求

參數(shù)以 querystring 的形式發(fā)送,也就是直接拼接在 請求路徑的后面

GET 請求會被瀏覽器主動緩存

GET 請求根據(jù)不同的瀏覽器對長度是有限制的

IE: 2083 個(gè)字符

FireFox: 65536 個(gè)字符

Safari: 80000 個(gè)字符

Opera: 190000 個(gè)字符

Chrome: 8182 個(gè)字符

APACHE(server): 理論上接受的最大長度是 8192 個(gè)字符(有待商榷)

對參數(shù)的類型有限制身害,只接受 ASCII 碼的格式

POST 請求

參數(shù)以 request body的形式發(fā)送味悄,也就是放在請求體中

POST 請求不會被瀏覽器主動緩存,除非手動設(shè)置

POST 請求理論上是沒有限制的塌鸯,除非服務(wù)端做了限制

對參數(shù)類型沒有限制侍瑟,理論上可以傳遞任意數(shù)據(jù)類型,只不過要和請求頭對應(yīng)



COOKIE叫做會話技術(shù)

cookie 是瀏覽器提供的一個(gè)存儲空間

每一個(gè) HTTP 請求都會在請求頭中攜帶 cookie 到服務(wù)端

每一個(gè) HTTP 響應(yīng)都會在響應(yīng)頭中攜帶 cookie 到客戶端

也就是說丙猬,cookie 是不需要我們手動設(shè)置涨颜,就會自動在 客戶端 和 服務(wù)端之間游走的數(shù)據(jù)

我們只是需要設(shè)置一下 cookie 的內(nèi)容就可以


COOKIE 的存儲形式

cookie 是以字符串的形式存儲,在字符串中以 key=value 的形式出現(xiàn)

每一個(gè) key=value 是一條數(shù)據(jù)

多個(gè)數(shù)據(jù)之間以 ; 分割

// cookie 的形態(tài)

'a=100; b=200; c=300;'


COOKIE 的特點(diǎn)

存儲大小有限制茧球,一般是 4 KB 左右

數(shù)量有限制庭瑰,一般是 50 條左右

有時(shí)效性,也就是有過期時(shí)間抢埋,一般是 會話級別(也就是瀏覽器關(guān)閉就過期了)

有域名限制见擦,也就是說誰設(shè)置的誰才能讀取


使用方式

讀取 cookie 的內(nèi)容使用 document.cookie

constcookie=document.cookie

console.log(cookie)// 就能得到當(dāng)前 cookie 的值

設(shè)置 cookie 的內(nèi)容使用 document.cookie

// 設(shè)置一個(gè)時(shí)效性為會話級別的 cookie

document.cookie='a=100'

// 設(shè)置一個(gè)有過期時(shí)間的 cookie

document.cookie='b=200;expires=Thu, 18 Dec 2043 12:00:00 GMT";'

// 上面這個(gè) cookie 數(shù)據(jù)會在 2043 年 12 月 18 日 12 點(diǎn)以后過期钉汗,過期后會自動消失

刪除 cookie 的內(nèi)容使用 document.cookie

// 因?yàn)?cookie 不能直接刪除

// 所以我們只能把某一條 cookie 的過期時(shí)間設(shè)置成當(dāng)前時(shí)間之前

// 那么瀏覽器就會自動刪除 cookie

document.cookie='b=200;expires=Thu, 18 Dec 2018 12:00:00 GMT";'

COOKIE 操作封裝

因?yàn)?js 中沒有專門操作 COOKIE 增刪改查的方法

所以需要我們自己封裝一個(gè)方法

設(shè)置 cookie

/**

* setCookie 用于設(shè)置 cookie

* @param {STRING} key? 要設(shè)置的 cookie 名稱

* @param {STRING} value? 要設(shè)置的 cookie 內(nèi)容

* @param {NUMBER} expires? 過期時(shí)間

*/

functionsetCookie(key,value,expires) {

consttime=newDate()

time.setTime(time.getTime()-1000*60*60*24*8+expires)// 用于設(shè)置過期時(shí)間

document.cookie=`${key}=${value};expires=${time};`

}

讀取 cookie

/**

* getCookie 獲取 cookie 中的某一個(gè)屬性

* @param {STRING} key 你要查詢的 cookie 屬性

* @return {STRING} 你要查詢的那個(gè) cookie 屬性的值

*/

functiongetCookie(key) {

constcookieArr=document.cookie.split('; ')

letvalue=''

cookieArr.forEach(item=>{

if(item.split('=')[0]===key) {

value=item.split('=')[1]

?? }

? })

returnvalue

}



刪除 cookie

/**

* delCookie 刪除 cookie 中的某一個(gè)屬性

* @param {STRING} name 你要刪除的某一個(gè) cookie 屬性的名稱

*/

function delCookie(name) {

? setCookie(name, 1, -1)

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鲤屡,隨后出現(xiàn)的幾起案子损痰,更是在濱河造成了極大的恐慌,老刑警劉巖酒来,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卢未,死亡現(xiàn)場離奇詭異,居然都是意外死亡堰汉,警方通過查閱死者的電腦和手機(jī)辽社,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翘鸭,“玉大人滴铅,你說我怎么就攤上這事【团遥” “怎么了汉匙?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長生蚁。 經(jīng)常有香客問我噩翠,道長,這世上最難降的妖魔是什么邦投? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任伤锚,我火速辦了婚禮,結(jié)果婚禮上志衣,老公的妹妹穿的比我還像新娘屯援。我一直安慰自己,他們只是感情好念脯,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布玄呛。 她就那樣靜靜地躺著,像睡著了一般和二。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上耳胎,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天惯吕,我揣著相機(jī)與錄音,去河邊找鬼怕午。 笑死废登,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的郁惜。 我是一名探鬼主播堡距,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼甲锡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了羽戒?” 一聲冷哼從身側(cè)響起缤沦,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎易稠,沒想到半個(gè)月后缸废,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡驶社,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年企量,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亡电。...
    茶點(diǎn)故事閱讀 38,673評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡届巩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出份乒,到底是詐尸還是另有隱情恕汇,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布冒嫡,位于F島的核電站拇勃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏孝凌。R本人自食惡果不足惜方咆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蟀架。 院中可真熱鬧瓣赂,春花似錦、人聲如沸片拍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捌省。三九已至苫纤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纲缓,已是汗流浹背卷拘。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祝高,地道東北人栗弟。 一個(gè)月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像工闺,于是被迫代替她去往敵國和親乍赫。 傳聞我的和親對象是個(gè)殘疾皇子瓣蛀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評論 2 349

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

  • HTTPhttp 是我們前后臺交互的時(shí)候的傳輸協(xié)議(即超文本傳輸協(xié)議)HTTP 的工作流程和服務(wù)器建立鏈接建立鏈接...
    小胖子_d7d8閱讀 167評論 0 0
  • HTTP請求報(bào)文與響應(yīng)報(bào)文格式請求報(bào)文包含四部分:a、請求行:包含請求方法雷厂、URI惋增、HTTP版本信息 b、請求首部...
    小棋子js閱讀 581評論 0 1
  • 2018-6-26更新 304狀態(tài)碼 : Not Modified ---- 頁面未被修改罗侯,緩存是最新的 30...
    woow_wu7閱讀 1,427評論 0 2
  • 一器腋、HTTP協(xié)議的主要特點(diǎn) 簡單快速:每個(gè)資源URI都是固定的 靈活:頭部有數(shù)據(jù)類型,可以完成不同類型傳輸 無連接...
    番茄沙司a閱讀 855評論 0 5
  • 博主最近在復(fù)習(xí)HTTP钩杰,之前用書主要是《計(jì)算機(jī)網(wǎng)絡(luò)》謝希仁版本和上野宣的《圖解HTTP》纫塌,最近結(jié)合網(wǎng)上博客,進(jìn)行復(fù)...
    stoneyang94閱讀 800評論 0 0