九.Node.js Server

HTTP協(xié)議的底層是由TCP和IP(TCP/IP)構(gòu)建的

  1. TCP 和 UDP 的區(qū)別是什么
    簡答:TCP 可靠蹲蒲、面向連接、相對 UDP 較慢赡麦;UDP 不可靠朴皆,不面向連接、相對 TCP 較快泛粹。搞定遂铡。

  2. TCP 的三次握手指的是什么
    簡答:每次建立連接前,客戶端和服務(wù)端之前都要先進行三次對話才開始正式傳輸內(nèi)容晶姊,三次對話大概是這樣的:

     1. 客戶端:我要連接你了扒接,可以嗎
     2. 服務(wù)端:嗯,我準備好了们衙,連接我吧
     3. 客戶端:那我連接你咯钾怔。
     4. 開始后面步驟
    

IP網(wǎng)絡(luò)協(xié)議(Internet Protocol)

只要你在互聯(lián)網(wǎng)中,那么你就會有一個 IP蒙挑。通俗上理解宗侦,IP 分為「內(nèi)網(wǎng) IP」 和「外網(wǎng) IP」,以下圖為例:

image.png

路由器連上電信的服務(wù)器忆蚀,那么路由器就會有一個「外網(wǎng) IP」矾利,比如「14.17.32.211」就是一個外網(wǎng) IP。這就是你在互聯(lián)網(wǎng)中的地址馋袜。
但是如果你重啟路由器男旗,那么你很有「可能」被重新分配一個「外網(wǎng) IP」,也就是說 你的路由器沒有「固定的外網(wǎng) IP」
內(nèi)網(wǎng)不能直接訪問內(nèi)網(wǎng)欣鳖,反之亦然
路由器就是一個指路人察皇,路由器也是內(nèi)網(wǎng)與外網(wǎng)的必由之路,這也就是路由的來歷
除了內(nèi)網(wǎng) IP 和外網(wǎng) IP观堂,還有兩個特別特殊的 IP让网,就是本地 IP:127.0.0.1。本地 IP 永遠表示設(shè)備自己师痕。還有一個特別特殊的 IP:0.0.0.0溃睹,它不表示任何設(shè)備。

端口

想要訪問一個設(shè)備(前提是你使用的是TCP或UDP協(xié)議胰坟,HTTP就是使用了TCP協(xié)議)因篇,只有IP是不夠的必須還要有一個端口,端口只是一個編號笔横,并不是一個硬件
一個服務(wù)器(硬件)不一定只提供一種服務(wù)竞滓,比如一個服務(wù)器既提供 HTTP 服務(wù),又提供 FTP 服務(wù)吹缔,還提供 SMTP 服務(wù)(郵件服務(wù))商佑,那么只用一個 IP 是無法告訴服務(wù)器你想要使用哪種服務(wù)。
所以這里有一個重要的原則:一個端口對應(yīng)一個服務(wù)厢塘。

比如

要提供 HTTP 服務(wù)你最好使用 80 端口(能不能使用別的端口茶没?可以肌幽,不過不建議你違反約定)
要提供 HTTPS 服務(wù)你最好使用 443 端口(能不能使用別的端口?可以抓半,不過不建議你違反約定)
要提供 FTP 服務(wù)你最好使用 21 端口(能不能使用別的端口喂急?可以,不過不建議你違反約定)

怎么知道應(yīng)該使用什么端口笛求?

維基百科 把 0 到 1023 號端口對應(yīng)的服務(wù)都告訴你了

一共有多少端口廊移?

每個機器一共有 65535(2的16次方減1)個端口(這是協(xié)議規(guī)定的)。不過這些端口的使用由一些規(guī)定:
0 到 1023(2的10次方減1)號端口是留給系統(tǒng)使用的探入,你只有擁有了管理員權(quán)限后狡孔,才能使用這 1024 個端口。
其他端口可以給普通用戶使用
如果一個端口正在提供服務(wù)新症,也就是被占用了步氏,那么就不能再使用這個端口。除非你先停掉正在占用這個端口的服務(wù)徒爹。

總結(jié):

使用HTTP協(xié)議訪問另外一個IP時,端口號和IP缺一不可
訪問www.qq.com時我們沒有輸入端口號是因為瀏覽器幫我們添加上了

Server(服務(wù)器)

用腳本就可以提供 HTTP 服務(wù)芋类,不管是 Bash 腳本還是 Node.js 腳本都可以
模擬題隆嗅,供以后復習:
寫出一個 server.js 文件,滿足以下功能

用戶請求 / 時侯繁,返回 html 內(nèi)容
1.該 html 內(nèi)容里面由一個 css link 和一個 script
2.css link 會請求 /style.css胖喳,返回 css 內(nèi)容
3.script 會請求 /main.js,返回 js 內(nèi)容
4.請求 / /style.css /main.js 以外的路徑贮竟,則一律返回 404 狀態(tài)碼
點擊查看代碼

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丽焊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子咕别,更是在濱河造成了極大的恐慌技健,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惰拱,死亡現(xiàn)場離奇詭異雌贱,居然都是意外死亡,警方通過查閱死者的電腦和手機偿短,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門欣孤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人昔逗,你說我怎么就攤上這事降传。” “怎么了勾怒?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵婆排,是天一觀的道長款票。 經(jīng)常有香客問我,道長泽论,這世上最難降的妖魔是什么艾少? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮翼悴,結(jié)果婚禮上缚够,老公的妹妹穿的比我還像新娘。我一直安慰自己鹦赎,他們只是感情好谍椅,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著古话,像睡著了一般雏吭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上陪踩,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天杖们,我揣著相機與錄音,去河邊找鬼肩狂。 笑死摘完,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的傻谁。 我是一名探鬼主播孝治,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼审磁!你這毒婦竟也來了谈飒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤态蒂,失蹤者是張志新(化名)和其女友劉穎杭措,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吃媒,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡瓤介,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了赘那。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刑桑。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖募舟,靈堂內(nèi)的尸體忽然破棺而出祠斧,到底是詐尸還是另有隱情,我是刑警寧澤拱礁,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布琢锋,位于F島的核電站辕漂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吴超。R本人自食惡果不足惜钉嘹,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鲸阻。 院中可真熱鬧跋涣,春花似錦、人聲如沸鸟悴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽细诸。三九已至沛贪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間震贵,已是汗流浹背利赋。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留屏歹,地道東北人隐砸。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像蝙眶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子褪那,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

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