សាស្ត្រា http គឺ​ជា​សាស្ត្រា​មាន​ស្រាប់ ដែលត្រូវ​បានបង្កើត​ឡើង​រួច​ជា​ស្រេចទុក​​នៅ​ក្នុង​ផ្នែក​ទន់ Node.js ។ ជាទូទៅ ក្បួន​ខ្នាត​នៅ​ក្នុង​សាស្ត្រា​ http នេះ​ត្រូវ​បាន​គេ​​យក​ទៅ​ប្រើ​ប្រាស់​សំរាប់​ភ្ជាប់​ទំនាក់ទំនង​រវាង​អ្នក​ប្រើប្រាស់​​និង​ server ដែល​ជា​ទំនាក់​ទំនង​មាន​រូបភាព​ជា​ request (សំណើរ) និង response (ការឆ្លើយតប)។ បាន​ន័យ​ថា តាម​រយៈ​សាស្ត្រា http សំណើររបស់​អ្នក​ប្រើប្រាស់​ទាំងឡាយ ដែល​ជាការចុចនេះ​ឬ​ចុចនោះ នឹងត្រូវបញ្ជូន​ទៅ​កាន់ server ដែល​នឹង​ធ្វើ​ការឆ្លើយតប​មក​វិញ ដោយ​ផ្តល់នូវ​​ឯកសារ​ផ្សេង​ៗដែល​អ្នក​ប្រើប្រាស់​​ចង់​អាន​ឬ​ទស្សនា​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោមនេះ៖

 

//យក​សាស្ត្រាមានស្រាប់ HTTP មក​ប្រើប្រាស់
var http = require('http');
 
//បង្កើត​ server នៃ​កម្មវិធី Node.js
http.createServer(function (req, res) {
  //ឆ្លើយតបទៅ​នឹង​សំណើររបស់​អ្នកប្រើប្រាស់
  res.write('ការប្រើប្រាស់​សាស្ត្រា HTTP ដើម្បី​ឆ្លើយ​តប​នឹងសំណើរ​របស់​អ្នក​ប្រើប្រាស់​។'); 
  res.end(); //បញ្ចប់​ការឆ្លើយតប
}).listen(8080); //server នៃ​កម្មវិធីនេះ​រង់​ចាំ​ទទួល​សំណើរ​តាម​ច្រក​លេខ 8080

 

នៅលើបន្ទាត់​លេខ 2 ការសរសេរថា var http = require('http'); គឺ​ជា​ការប្រើប្រាស់​ក្បួន​​ឈ្មោះ require ដើម្បី​យក​​សាស្ត្រាមាន​ស្រាប់​​ឈ្មោះ http មក​ប្រើ​។

 

នៅ​លើ​បន្ទាត់​លេខ 5 ការសរសេរ​ថា http.createServer គឺ​ជាការ​យកក្បួន​ឈ្មោះ createServer ដើម្បី​​បង្កើត server នៃ​កម្មវិធី Node.js មួយ​ដែល​នឹង​ដំណើរការជាប់រហូត​។

 

នៅ​លើ​បន្ទាត់​លេខ 7 ការសរសេរ​ថា res.write('ការប្រើប្រាស់​សាស្ត្រា http ដើម្បី​ឆ្លើយ​តប​នឹងសំណើរ​របស់​អ្នក​ប្រើប្រាស់​។'); គឺ​ជាការឆ្លើយ​តប​ទៅ​សំណើរ​របស់​អ្នកប្រើប្រាស់ នៅ​ពេលដែល​ពួក​គេ​ចុច​បើក​ browser តាម​រយៈ​អាស័យដ្ឋាន http://localhost:8080/ ដោយ​បង្ហាញ​​ប្រយោគ​មួយ​មាន​ន័យ​ថា «ការប្រើប្រាស់​សាស្ត្រា http ដើម្បី​ឆ្លើយ​តប​នឹងសំណើរ​របស់​អ្នក​ប្រើប្រាស់​។» នៅ​លើ​ផ្ទៃ browser ។

 

នៅ​លើ​បន្ទាត់​លេខ 9 ការសរសេរ​ថា listen(8080); គឺ​ជាការ​កំណត់​យក​ច្រក​ចូល​​លេខ 8080 សំរាប់​ទទួល​យក​សំណើរ​របស់​អ្នក​ប្រើប្រាស់​។

 

នៅ​ក្នុង​កម្មវិធី​ខាង​លើនេះ ការឆ្លើយតបទៅ​អ្នកប្រើប្រាស់ ដោយ​សរសេរ​ឃ្លា​ប្រយោគ​ផ្សេង​ៗ​នៅ​លើ​ browser គ្រាន់តែជាអត្ថបទ​ធម្មតា​ប៉ុណ្ណោះ (text) តែ​បើ​យើង​ចង់​ផ្តល់​ចំឡើយ​ដែលជា​អត្ថបទ​មាន​ប្រភេទ​ជា HTML យើង​ត្រូវ​ប្រើ​ក្បួន​មួយ​​មាន​ឈ្មោះថា writeHead នៅ​ក្នុង​សាស្ត្រា http ។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

 

//យក​សាស្ត្រាមានស្រាប់ http មក​ប្រើប្រាស់
var http = require('http');
 
//បង្កើត​ server នៃ​កម្មវិធី Node.js
http.createServer(function (req, res){
  //បង្កាញការឆ្លើយ​តប​ជា​អត្ថបទ​មានប្រភេទ​ជា HTML
  res.writeHead(200, {'Content-Type': 'text/html'});
  //ឆ្លើយតបទៅ​នឹង​សំណើររបស់​អ្នកប្រើប្រាស់
  res.write('<b>ការប្រើប្រាស់​សាស្ត្រា HTTP ដើម្បី​ឆ្លើយ​តប​នឹងសំណើរ​របស់​អ្នក​ប្រើប្រាស់​។</b>'); 
  res.end(); //បញ្ចប់​ការឆ្លើយតប
}).listen(8080); //server នៃ​កម្មវិធីនេះ​រង់​ចាំ​ទទួល​សំណើរ​តាម​ច្រក​លេខ 8080

 

នៅ​លើ​បន្ទាត់លេខ 7 ការសរសេរ​ថា res.writeHead(200, {'Content-Type': 'text/html'}); គឺ​ជាការយក​ក្បួនឈ្មោះ writeHead នៅ​ក្នុង​សាស្ត្រា http មក​ប្រើ​ ដើម្បី​តំរូវ​អោយ​អត្ថបទ​នៃ​ការឆ្លើយតបទាំងឡាយ មានលក្ខណៈ​ជា​អត្ថបទ HTML ៕