專題復(fù)習(xí)二摊腋、關(guān)于http的那些事(1)

寫于2017.07.27

一妄痪、與http有關(guān)的一些概念
  • http:hypertext transfer protocol 超文本傳輸協(xié)議
  • 服務(wù)器:
    1哈雏、可以是電腦
    2、也可以是程序(你訪問IP,我給你提供頁面裳瘪。運(yùn)行JS文件土浸,就是個(gè)程序)
  • DNS:網(wǎng)域名稱系統(tǒng),是一個(gè)分布式數(shù)據(jù)庫(DNS 服務(wù)器IP是由運(yùn)營商告訴你你的IP是多少彭羹,然后你的路由器會顯示)
  • IP與網(wǎng)址:由DNS決定二者的映射關(guān)系黄伊,如下圖:
網(wǎng)址 IP
baidu.com 111.11.11
googe.com 222.22.22

(一個(gè)域名可以對應(yīng)多個(gè)IP,一個(gè)IP也可以指向多個(gè)域名派殷。每個(gè)用戶在訪問的時(shí)候?qū)?yīng)的IP都不一致还最。百度買了很多服務(wù)器,根據(jù)你的位置返回最近的IP毡惜。<strong>ping 域名 可以得到IP</strong>)
總結(jié)兩句話:
1拓轻、一個(gè)域名對應(yīng)的IP由域名所有者指定的(比如我買了域名,決定IP是多少)
2经伙、由所有者決定域名對應(yīng)的IP扶叉,不在本機(jī),統(tǒng)一在運(yùn)營商DNS管理(也就是你遷的電信網(wǎng)帕膜,就由電信運(yùn)營商決定)

PS:
強(qiáng)制改IP
1辜梳、Linux: sudo vi /etc/hosts/ 127.0.0.1 baidu.com
2、Windows - 找到 hosts文(c/windows/system32/dvivers/etc/hosts)用管理員身份運(yùn)行泳叠,改IP

  • 端口:TCP/UDP協(xié)議, 一個(gè)端口對應(yīng)一個(gè)服務(wù)
    0--1023號端口是保留端口
    1茶宵、FTP(傳文件危纫。默認(rèn)端口21)監(jiān)聽21
    2、http 80端口
    3乌庶、DNS 53端口
    4种蝶、HTTPS 443端口
    5、1080 socks代理端口
    例如:https://baidu.com:443 瞒大; http://qq.com:80(默認(rèn)隱藏了端口)
二螃征、 請求&&響應(yīng)
image.png
  • 瀏覽器(client)--------- 服務(wù)器 (sever)
    交互過程:瀏覽器首先訪問DNS某網(wǎng)址的IP是什么。有了IP以后向服務(wù)器發(fā)送請求透敌,服務(wù)器就返回一個(gè)頁面給瀏覽器盯滚,就是響應(yīng)
    瀏覽器也叫客戶端、用戶代理(user agent酗电,因?yàn)槭菫g覽器代替我上網(wǎng))
請求

curl -L https://baidu.com
curl -l http://101.200.33.143:8888/index.html(獲得請求信息)

一個(gè)請求的例子:

get/index.html http/1.1(我要index.html魄藕,遵循的版本是http1.1)
host:101.200.33.143:9999(我需要百度的這個(gè)IP訪問9999端口號)
connection:keep-alive
pragma:no-cache(不要緩存我)
upgrade-insecure-requests:1
user-agent:mogilla/5.0(macintosh;intel mac os x 10_12_3) applewebkit/537.36(khtml,like gecko)
chrome/56.0.2924.87 safari/537.36(用戶用什么工具訪問)
accept:text/html,application/xhtml+xml;application/xml0.9,image/webp,
/*;q=0.8(返回HTML,如果沒有就XHTML)
accept-encoding;gzip,defiate,sdch *
如上的請求分為四部分:
1撵术、請求行:動詞( 9個(gè):get背率、post、delete、put寝姿、patch交排、head、track饵筑、options埃篓、connect )路徑 協(xié)議/版本號
get/ index.html http1.1.1
get head post put(給什么替換掉要改的) pacth(保留舊的) delete connect option trace
2、請求頭:域名(host)
host:1.2.3.4
accept:HTML翻翩、XHTML都许、XML
user-agent:chrome、Mac嫂冻、
<b>vcontent-type:application x/www-form-urlencoded 或者json/HTML/urlencoded(x表示這個(gè)東西還沒進(jìn)入標(biāo)準(zhǔn)胶征,但試行了很多年了、第二部分指定第四部分格式)</b>
cookie(難點(diǎn))
3桨仿、回車(把第二部分和第四部分隔開)
4睛低、消息體(formdata。內(nèi)容隨意服傍,可省略钱雷,格式由第二部分指定)

響應(yīng)
一個(gè)響應(yīng)的例子:

HTTP/1.1 200 OK(版本號、狀態(tài)碼)
Server: bfe/1.0.8.18
Date: Tue, 28 Feb 2017 06:28:27 GMT
Content-Type: text/html; charset=utf-8(定義第四部分類型)
Transfer-Encoding: chunked
Connection: keep-alive
Vary: DontTrackMeHere
Set-Cookie: BDRCVFR[yRSRXBz7w1T]=-tUPB7bzJE6uZNBmi4WUvY; path=/; domain=.baidu.com
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=0; path=/
Set-Cookie: H_PS_PSSID=1464_21081_22036; path=/; domain=.baidu.com
P3P: CP=" OTI DSP COR IVA OUR IND COM "
Cache-Control: private
Cxy_all: 56060048_4_pg+64bff61a52fe2c37f37a88f72cfc6228
Expires: Tue, 28 Feb 2017 06:28:02 GMT
X-Powered-By: HPHP
X-UA-Compatible: IE=Edge,chrome=1
Strict-Transport-Security: max-age=172800
BDPAGETYPE: 1
BDQID: 0xf209092c000026f8
BDUSERID: 0
Content-Encoding: gzip
Set-Cookie: __bsi=2050419762638780962_00_21_R_N_3_0303_C02F_N_I_I_0; expires=Tue, 28-Feb-17 06:28:32 GMT; domain=www.baidu.com; path=/

如上的響應(yīng)分為四部分:
1吹零、狀態(tài)行:協(xié)議/版本號 狀態(tài)碼 狀態(tài)描述
2罩抗、響應(yīng)頭
content--type:text/HTML charset =utf-8
server:bfe/1.0.8.18
date:thu,23 feb 2017
(定義第四部分格式)
3、回車
4灿椅、消息體(內(nèi)容隨便)
<html>
<body>
</body>
</html>
難點(diǎn):緩存

  • 狀態(tài)碼:
  • 1開頭:表示正在進(jìn)行中
  • 2開頭:表示請求已成功被服務(wù)器接收套蒂、理解、并接受
    200:成功
  • 3開頭:指重定向
    301:重新定向茫蛹;永久搬家(瀏覽器緩存結(jié)果操刀,以后不訪問這個(gè)網(wǎng)址)
    302:臨時(shí)搬家
    304:指緩沖的版本是最新的
  • 4開頭:客戶端出錯
    404:請求網(wǎng)址不存在 403:不允許你訪問
    405:只能用特定方式請求,如只能用get
    414:請求的網(wǎng)址太長
    505:內(nèi)部服務(wù)器錯誤 502:網(wǎng)關(guān)問題
三婴洼、URI URL URN

URI(統(tǒng)一資源標(biāo)識符) = URL(統(tǒng)一資源定位符) + URN(統(tǒng)一資源名稱)

  • 一個(gè)URI的組成部分
    URL: http<b>(協(xié)議)</b>://www.baidu.com<b>(域名)</b>:443<b>(端口號)</b>/path/<b>(路徑)</b>?key=value&key2=value2<b>(查詢字符串)</b>#fraqid<b>(錨點(diǎn)定位符)</b>
    URN:urn:example:mammal:monotreme:echidna(圖書isbn)

知識這東西骨坑,若只是嘴上說說,而不能轉(zhuǎn)化為見識和膽識柬采,那其實(shí)蛋用沒有

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末欢唾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子粉捻,更是在濱河造成了極大的恐慌匈辱,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杀迹,死亡現(xiàn)場離奇詭異亡脸,居然都是意外死亡押搪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門浅碾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來大州,“玉大人,你說我怎么就攤上這事垂谢∠没” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵滥朱,是天一觀的道長根暑。 經(jīng)常有香客問我,道長徙邻,這世上最難降的妖魔是什么排嫌? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮缰犁,結(jié)果婚禮上淳地,老公的妹妹穿的比我還像新娘。我一直安慰自己帅容,他們只是感情好颇象,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著并徘,像睡著了一般遣钳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上麦乞,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天耍贾,我揣著相機(jī)與錄音,去河邊找鬼路幸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛付翁,可吹牛的內(nèi)容都是我干的简肴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼百侧,長吁一口氣:“原來是場噩夢啊……” “哼砰识!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起佣渴,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤辫狼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辛润,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體膨处,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了真椿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹃答。...
    茶點(diǎn)故事閱讀 39,739評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖突硝,靈堂內(nèi)的尸體忽然破棺而出测摔,到底是詐尸還是另有隱情,我是刑警寧澤解恰,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布锋八,位于F島的核電站,受9級特大地震影響护盈,放射性物質(zhì)發(fā)生泄漏挟纱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一黄琼、第九天 我趴在偏房一處隱蔽的房頂上張望樊销。 院中可真熱鬧,春花似錦脏款、人聲如沸围苫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剂府。三九已至,卻和暖如春剃盾,著一層夾襖步出監(jiān)牢的瞬間腺占,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工痒谴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衰伯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓积蔚,卻偏偏與公主長得像意鲸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子尽爆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評論 2 354

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理怎顾,服務(wù)發(fā)現(xiàn),斷路器漱贱,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 1.OkHttp源碼解析(一):OKHttp初階2 OkHttp源碼解析(二):OkHttp連接的"前戲"——HT...
    隔壁老李頭閱讀 20,847評論 24 176
  • Http協(xié)議詳解 標(biāo)簽(空格分隔): Linux 聲明:本片文章非原創(chuàng)槐雾,內(nèi)容來源于博客園作者M(jìn)IN飛翔的HTTP協(xié)...
    Sivin閱讀 5,223評論 3 82
  • 從盧塞恩回到蘇黎世,雖然已經(jīng)下午6點(diǎn)半了幅狮,但天還是很亮募强,瑞士在夏天基本上要到晚上十點(diǎn)天才完全暗下來株灸。再加上從盧塞恩...
    土豆片土豆絲土豆泥閱讀 175評論 0 0
  • 2017年5月7日打卡 周日,多云钻注。中午時(shí)分有點(diǎn)熱蚂且,其余時(shí)間溫度適宜,涼爽怡人幅恋。 今天子冉和金歌帶著全家驅(qū)車將近一...
    沈曼柔閱讀 221評論 9 5