Node實現靜態伺服器

2022-01-19 17:59:50 字數 1170 閱讀 7744

1.node裡面是沒有web容器之說的,所以url上的路徑跟實際檔案的路徑並不是一致,這裡我們手動實現乙個簡單的原生靜態服務,讓node能夠找到路徑的檔案,實現靜態伺服器功能。資料夾的任何檔案都能被找到。

2.比如在index.html加乙個時,node的fs去找這個,但是writehead你就要寫這個mime型別,為image/jpg,雖然不寫,chrome瀏覽器可以顯示(開發者工具可以看到這個1.jpg的response headers裡不存在 content-type),有的瀏覽器是不能顯示的,又比如css的檔案你不寫mime型別,瀏覽器是識別不了了。

3.path模組獲得字尾,然後寫乙個函式case所有情況,寫進特定的mime型別,這裡也可以在函式裡面再fs讀乙個寫好的json檔案,把所有型別都可以對應起來(教程上的小作業)。

//

因為node路由路徑和實際檔案路徑並不一定一致,沒有web容器的原因,這裡我們仿照web路由的實現

//拓展名

var extname =path.extname(pathname);

//真的讀取這個檔案

//缺點,太智慧型,但是不能檢測是什麼型別的檔案

fs.readfile("./static/" + pathname, function

(err, data) );

res.end(data);

});return ;//

必須這個,不然會走到下個data

}

//mime型別,就是

//網頁檔案:text/html

//jpg檔案:image/jpg

var mime =getmime(extname)

res.writehead(200,);

res.end(data);

})}).listen(3000,"127.0.0.1")

function

getmime(extname)

}

node靜態伺服器斷點續傳實現

當乙個伺服器支援range時,客戶端可以將需要傳送的內容分成很多份傳送給服務端,服務端可以每次接收部分內容。有了這樣的能力,遇到斷網的情況,我們可以在客戶端記錄下已經傳送的檔案範圍,網路恢復後再將剩餘部分傳送給服務端,這樣就實現了斷點續傳。具體流程如下 而伺服器會分如下兩種情況響應瀏覽器的請求 ge...

使用node搭建靜態資源伺服器

npm install yumu static server g shift 滑鼠右鍵 在此處開啟powershell 視窗 server 會在當前目錄下啟動乙個靜態資源伺服器,預設埠為8080 server p port 3000 會在當前目錄下啟動乙個靜態資源伺服器,埠為3000 server ...

node學習 搭建簡單的靜態伺服器

1 server 物件建立,通過http模組建立server物件,這裡我們對請求的路徑未做區分,只是單純的返回當前的請求位址 2.下面我們對路徑進行區分,即當請求對應的檔案路徑時,如果檔案存在則返回對應的靜態檔案,如果請求靜態檔案不存在,那麼返回 404 這裡用的是流的形式createreadstr...