国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

node.js使用http模塊創建服務器和客戶端完整示例

2024-05-06 15:44:19
字體:
來源:轉載
供稿:網友

本文實例講述了node.js使用http模塊創建服務器和客戶端。分享給大家供大家參考,具體如下:

node.js中的 http 模塊提供了創建服務器和客戶端的方法,http 全稱是超文本傳輸協議,基于 tcp 之上,屬于應用層協議。

一、創建http服務器

const http = require('http');//創建一個http服務器let server = http.createServer();//監聽端口server.listen(8888, '0.0.0.0');//設置超時時間server.setTimeout(2 * 60 * 1000);//服務器監聽時觸發server.on('listening', function () {  console.log('監聽開始');});//接收到客戶端請求時觸發server.on('request', function (req, res) {  //req表示客戶端請求對象,是http.IncomingMessage類的實例,可讀流。  //res表示服務端響應對象,是http.ServerResponse類的實例,可寫流。  //請求方法  console.log(req.method);  //請求url  console.log(req.url);  //請求的頭信息  console.log(req.headers);  //請求的http版本  console.log(req.httpVersion);  //請求對象的socket對象  console.log(req.socket);  res.end('hello');});//連接建立時觸發server.on('connection', function (socket) {  console.log('建立連接');});//客戶端向服務器發送CONNECT請求時觸發server.on('connect', function (req, socket, head) {  console.log('客戶端connect');});//服務器關閉時觸發,調用 close() 方法。server.on('close', function () {  console.log('服務器關閉');});//發生錯誤時觸發server.on('error', function (err) {  console.log(err);});//如果連接超過指定時間沒有響應,則觸發。//超時后,不可再復用已建立的連接,需發請求重新建立連接server.on('timeout', function (socket) {  console.log('連接已超時');});

請求對象 req 里保存了客戶端的詳細信息,包括 url,請求參數等,為了方便的解析這些參數,我們可以使用 url.parse() 方法。

const http = require('http');const url = require('url');//創建一個http服務器let server = http.createServer();//監聽端口server.listen(8888, '0.0.0.0');//接收到客戶端請求時觸發server.on('request', function (req, res) {  //解析url返回一個url對象  //如果參數二設為true,則url對象中的query屬性將通過querystring.parse()生成一個對象  let params = url.parse(req.url, true);  //完整url地址  console.log('href', params.href);  //主機名,包含端口  console.log('host', params.host);  //主機名,不包含端口  console.log('hostname', params.hostname);  //端口  console.log('port', params.port);  //協議  console.log('protocol', params.protocol);  //路徑,包含查詢字符串  console.log('path', params.path);  //路徑,不包含查詢字符串  console.log('pathname', params.pathname);  //查詢字符串,不包含 ?  console.log('query', params.query);  //查詢字符串,包含 ?  console.log('search', params.search);  //散列字符串,包含 #  console.log('hash', params.hash);  res.end('end');});            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 皋兰县| 元阳县| 嵩明县| 漾濞| 饶阳县| 海兴县| 务川| 彰化市| 南投县| 手游| 古丈县| 和硕县| 江油市| 镇宁| 扶风县| 济宁市| 前郭尔| 连州市| 东光县| 鹤峰县| 建德市| 瓦房店市| 普安县| 布尔津县| 尼木县| 合江县| 图片| 雷山县| 洞口县| 台北县| 三亚市| 抚顺市| 沁阳市| 兴安盟| 柳州市| 宜君县| 双鸭山市| 乌兰浩特市| 东辽县| 德州市| 手机|