이 글은 모든 사람이 Node.js를 사용하여 간단한 HTTP 서버를 구축하여 컴퓨터 리소스를 조작할 수 있도록 작성되었습니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
HTTP 프로토콜이란 무엇인가요?
[권장 학습: "nodejs tutorial"]
2개의 HTTP 패킷 교환을 포함하는 웹 페이지 요청:
http.js
파일을 만들고, 다음 코드를 작성하세요: // http 是 Node 自带的包,在这里加载引入 const http = require('http') // 通过 http.createServer 创建一个 Web 静态服务器 http.createServer(function (request, response) { // 监听到请求之后所做的操作 // request 对象包含:用户请求报文的所有内容 // 我们可以通过request对象,获取用户提交过来的数据 // response 响应对象,用来响应一些数据 // 当服务器想要向客户端响应数据的时候,就必须使用response对象 response.writeHead(200); response.end('hello world'); }).listen(4000, function () { // 通过 listen 监听端口,开启服务 console.log("服务器已经启动,可通过以下地址:http://localhost:4000"); })
node http.js
http.js
文件,写入以下代码:
// 加载模块 const http = require('http') const fs = require('fs'); // 创建服务 http.createServer(function (request, response) { console.log(request.url); response.writeHead(200); response.end(); }).listen(3000)
终端运行命令:node http.js
可以看到,服务已经启动,在 Chrome 打开 http://localhost:4000
:
页面上已经把 response.end()
的内容显示出来,这样一个简单的 HTTP 服务器就实现了。
fs
模块加载静态资源新建一个 index.js
文件:
// 加载模块 const http = require('http') const fs = require('fs'); // 创建服务 http.createServer(function (request, response) { // console.log(request.url); // 如果是图标请求则直接返回 200 if (request.url == '/favicon.ico') { response.writeHead(200); response.end() return } response.writeHead(200); // fs 是文件模块,通过 createReadStream 可以读取本地文件,这里读取的是目录下的 index.html 文件 // 通过 pipe 写入响应对象 fs.createReadStream(__dirname + '/index.html').pipe(response) }).listen(3000)
终端运行:node index.js
,浏览器打开 localhost:3000
这里发送了两个请求,一个是当前url http://localhost:3000/
的请求;另一个是右上角图标 http://localhost:3000/favicon.ico
的请求:
那这里对 /favicon.ico
的请求做一些处理,直接返回 200
状态码即可;然后通过 fs
模块去处理 静态资源
:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>实现一个简单的HTTP服务器</title> </head> <body> <div>hello HTTP服务</div> </body> </html>
index.html
文件内容如下:
终端运行:node index.js
启动服务:
可以看到,这个 HTTP 服务器已经把计算机的静态资源 index.html
给到浏览器了。
这样一个简单的读取计算机静态资源的 HTTP 服务器就实现了!
在这个 HTTP 服务器中使用了 Node.js 内置的两个模块 http
、fs
서비스가 시작된 것을 확인할 수 있습니다.새Chrome의 http: //localhost:4000
:response.end()
의 내용이 페이지에 표시되어 이렇게 간단한 HTTP 서버가 구현되었습니다.
index.js
파일 만들기: 🎜rrreee🎜터미널 실행: node index.js, 브라우저를 엽니다 localhost:3000
🎜🎜🎜🎜두 개의 요청이 여기로 전송됩니다. 하나는 현재 URL http://localhost:3000/
입니다. 요청; 다른 하나는 오른쪽 상단에 있는 아이콘 http://localhost:3000/favicon.ico
에 대한 요청입니다. 🎜🎜🎜🎜그런 다음 /favicon.ico의 요청에 대해 일부 처리를 수행합니다. code>를 직접 반환하고 <code>200
상태 코드로 충분합니다. 그런 다음 fs
모듈을 사용하여 정적 리소스
를 처리합니다. 🎜rrreee🎜 index.html
파일 내용은 다음과 같습니다. 🎜rrreee🎜터미널 작업: node index.js
서비스 시작: 🎜🎜🎜🎜이 HTTP 서버가 컴퓨터의 정적 리소스 인덱스를 제공한 것을 볼 수 있습니다. .html
을 브라우저에 . 🎜🎜컴퓨터의 정적 리소스를 읽는 간단한 HTTP 서버가 구현되었습니다! 🎜🎜이 HTTP 서버는 Node.js의 두 가지 내장 모듈인 http
와 fs
를 사용합니다. Node.js에는 강력한 기능을 달성하는 데 도움이 되는 다른 많은 모듈이 있습니다. . 모듈이며 Node.js 생태계를 더욱 강력하게 만드는 것은 바로 이러한 모듈입니다. 🎜🎜🎜코드는 다음과 같습니다. 🎜🎜https://github.com/V-vincent/node-introduction🎜🎜🎜더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 비디오🎜를 방문하세요! ! 🎜위 내용은 Node.js를 사용하여 간단한 HTTP 서버를 구축하는 방법에 대한 간략한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!