http相關(guān)

著手做當(dāng)下最難搞的事,是解決焦慮與迷茫最好的良方。

http

https://mp.weixin.qq.com/s/WQpxfwLArltKEjEAdOO2Pw
http1.0秉撇,支持get,post骗随,每次請(qǐng)求都要建立連接轰豆。
http1.1,添加了put弓千,delete等方法支持衡便,鏈接復(fù)用,加入管道概念洋访,客戶(hù)端可以同時(shí)發(fā)多個(gè)次請(qǐng)求镣陕,但是服務(wù)端是串行執(zhí)行。加入了分塊傳輸姻政,提升了大文件傳輸效率呆抑。
http2.0,不修改http語(yǔ)義汁展,添加spdy協(xié)議鹊碍,提高性能厌殉。
二進(jìn)制編碼,提高壓縮率侈咕,減少數(shù)據(jù)大小公罕,數(shù)據(jù)分的快兒更小,每一塊都有流標(biāo)識(shí)耀销。服務(wù)端可以組裝楼眷,并發(fā)處理請(qǐng)求。服務(wù)端可以push树姨。

RESTFUL API
  1. 方法名不帶動(dòng)詞 http協(xié)議増postdeleteput patch(部分更新) 查get
  2. 路徑/v1/dog?id=1
  3. 返回?cái)?shù)據(jù)用json摩桶,statushttp的狀態(tài)碼桥状。
瀏覽器請(qǐng)求 www.baidu.com 時(shí)帽揪,背后都干了些啥?

https://mp.weixin.qq.com/s/dVAPIv7toJLv06P8feUOUw
https://mp.weixin.qq.com/s/rqa_YoBkkavJ12GAXZHTYA

  1. dns域名解析出ip辅斟,子網(wǎng)掩碼做與處理转晰,判斷是否是和本機(jī)一個(gè)內(nèi)網(wǎng)。
  2. 不是內(nèi)網(wǎng)士飒,開(kāi)始拼接數(shù)據(jù)查邢,按照應(yīng)用層->傳輸層->網(wǎng)絡(luò)層進(jìn)行分包。
    數(shù)據(jù)發(fā)到路由器酵幕,轉(zhuǎn)到對(duì)方的路由器扰藕。

    應(yīng)用層 http請(qǐng)求頭+首行+請(qǐng)求體
    傳輸層 tcp頭+端口
    網(wǎng)絡(luò)層 ip數(shù)據(jù)
    數(shù)據(jù)鏈路層 1500字節(jié)分包 mac地址
    具體發(fā)包還有擁塞控制,流量控制芳撒,3次握手建立連接邓深。
  3. 對(duì)方機(jī)器會(huì)層層的拆包,把http協(xié)議部分交給tomcat 進(jìn)行處理(connection(endPoint+process+adpter)-> container(host+path)-> springmvc)笔刹。
get芥备,post
  • 默認(rèn)表單的實(shí)現(xiàn),get是把參數(shù)拼接到url上舌菜,而post是放到請(qǐng)求體里萌壳,然后請(qǐng)求體里的數(shù)據(jù),后端會(huì)根據(jù)content_type去解析日月。
  • postmanidea自帶的httpclint就比較靈活袱瓮,就是參數(shù)放哪兒都行和get,post無(wú)關(guān)爱咬。
  • 瀏覽器限制
    • url不同瀏覽器會(huì)有不同的限制尺借。
    • 一般瀏覽器post的實(shí)現(xiàn)會(huì)發(fā)2個(gè)請(qǐng)求,第一個(gè)不發(fā)數(shù)據(jù)返回100后台颠,第二次發(fā)數(shù)據(jù)褐望,所以會(huì)比get慢一點(diǎn)勒庄。
csrf

http://www.reibang.com/p/64a413ada155
cross-site request forgery

  • 有些網(wǎng)站get方式去修改數(shù)據(jù)。這種情況下瘫里,如果a用戶(hù)正在登陸实蔽,b發(fā)給他一個(gè)惡意發(fā)禮物連接。只要a用戶(hù)點(diǎn)擊直接就把禮物給發(fā)了谨读。
  • post也會(huì)有問(wèn)題 b可以做一個(gè)網(wǎng)站局装,里面寫(xiě)js只要a用戶(hù)打開(kāi)頁(yè)面,還是可以把禮物給發(fā)了劳殖,所以就有了csrf跨域保護(hù)铐尚,驗(yàn)證HTTPReferer

識(shí)別跨域:
協(xié)議+域名(2級(jí)也算)+端口

項(xiàng)目里取消跨域限制:

  1. 返回新的CorsFilter
  2. 重寫(xiě)WebMvcConfigurer
  3. 使用注解@CrossOrigin
  4. 前端 jsonp
xss

跨站腳本攻擊(Cross Site Scripting)

  • 轉(zhuǎn)碼為html實(shí)體哆姻,這樣html實(shí)體可以正常顯示宣增,但是不會(huì)當(dāng)做js執(zhí)行。
  • HttpOnly Cookie js不可以獲取cookie矛缨。
常見(jiàn)http狀態(tài)碼

2XX 說(shuō)明請(qǐng)求被正常處理了

  • 200 請(qǐng)求正常處理
  • 204 請(qǐng)求正常處理 但是沒(méi)有返回信息
3XX 資源重定向
  • 304 表明直接用緩存 請(qǐng)求中有上次資源的更新時(shí)間 說(shuō)明緩存有效是最新的資源
  • 301 302 303 307幾乎所有的瀏覽器都會(huì)把POST改成GET爹脾,并刪除請(qǐng)求報(bào)文內(nèi)的主體,之后請(qǐng)求會(huì)自動(dòng)再次發(fā)送箕昭。
    • 301 永久性重定向 短鏈跳轉(zhuǎn)長(zhǎng)鏈灵妨,會(huì)緩存,忽略短鏈訪(fǎng)問(wèn)
    • 302 臨時(shí)性重定向 短鏈跳轉(zhuǎn)長(zhǎng)鏈落竹,會(huì)緩存泌霍,不會(huì)忽略短鏈訪(fǎng)問(wèn) redirect方法
    • 303 和302有相同的功能 不夠303會(huì)指定用get來(lái)獲取新的資源
    • 307同302
4XX 表明客戶(hù)端請(qǐng)求錯(cuò)誤
  • 400 服務(wù)端說(shuō)你發(fā)的什么玩意..報(bào)文有錯(cuò)誤 服務(wù)端理解不了
    requestBody中的參數(shù) java接收對(duì)象 沒(méi)有這個(gè)參數(shù)
  • 401 說(shuō)明你這個(gè)http需要認(rèn)證
    Unauthorized錯(cuò)誤,在項(xiàng)目里的usm中直接ip+端口訪(fǎng)問(wèn),提示401.因?yàn)橛衧ecurity做了攔截需要在url上加用戶(hù)名@密碼
  • 403 說(shuō)明你訪(fǎng)問(wèn)的資源 你沒(méi)有權(quán)限
  • 404 說(shuō)明你訪(fǎng)問(wèn)的資源 沒(méi)有找到
  • 405 你訪(fǎng)問(wèn)資源 用的方法不對(duì)
  • 413 get請(qǐng)求體太大,或者nginx設(shè)置的上傳文件大小限制了
  • 415 格式不對(duì) 要求requestBody 但是傳遞的param
5XX 表明服務(wù)端發(fā)生錯(cuò)誤

https://segmentfault.com/a/1190000012595322

  • 500 代碼出現(xiàn)問(wèn)題了 拋異常了
  • 502 tomcat沒(méi)啟動(dòng) 正在啟動(dòng)
  • 503 說(shuō)明正在 維護(hù) 或者超負(fù)載了 暫時(shí)不能對(duì)外服務(wù)
    超出nginx最大并發(fā)數(shù) vue項(xiàng)目分包js 文件太多 請(qǐng)求太多 報(bào)這個(gè)錯(cuò)誤
  • 504 超時(shí) 后端的服務(wù)器 負(fù)載太高了 配置錯(cuò)了 mysql負(fù)載高 內(nèi)存運(yùn)行不過(guò)來(lái)了運(yùn)行超出了nginx的超時(shí)時(shí)間

參考:https://blog.csdn.net/u011001084/article/details/79635162

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子打颤,更是在濱河造成了極大的恐慌,老刑警劉巖肋拔,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異呀酸,居然都是意外死亡凉蜂,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)性誉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)窿吩,“玉大人,你說(shuō)我怎么就攤上這事错览∪已悖” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵倾哺,是天一觀(guān)的道長(zhǎng)轧邪。 經(jīng)常有香客問(wèn)我刽脖,道長(zhǎng),這世上最難降的妖魔是什么忌愚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任曲管,我火速辦了婚禮,結(jié)果婚禮上硕糊,老公的妹妹穿的比我還像新娘院水。我一直安慰自己,他們只是感情好简十,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布檬某。 她就那樣靜靜地躺著,像睡著了一般螟蝙。 火紅的嫁衣襯著肌膚如雪恢恼。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天胶逢,我揣著相機(jī)與錄音厅瞎,去河邊找鬼。 笑死初坠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的彭雾。 我是一名探鬼主播碟刺,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼薯酝!你這毒婦竟也來(lái)了半沽?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤吴菠,失蹤者是張志新(化名)和其女友劉穎者填,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體做葵,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡占哟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了酿矢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片榨乎。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖瘫筐,靈堂內(nèi)的尸體忽然破棺而出蜜暑,到底是詐尸還是另有隱情,我是刑警寧澤策肝,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布肛捍,位于F島的核電站隐绵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拙毫。R本人自食惡果不足惜氢橙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恬偷。 院中可真熱鬧悍手,春花似錦、人聲如沸袍患。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)诡延。三九已至滞欠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肆良,已是汗流浹背筛璧。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惹恃,地道東北人夭谤。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像巫糙,于是被迫代替她去往敵國(guó)和親朗儒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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