node——request和response的經常使用對象

request(http.IncomingMessage)和response(http.ServerResponse)對象介紹數組

request:服務器解析用戶提交的http請求報文,將結果解析到request對象中,凡是要獲取和用戶請求的數據均可以經過request對象獲取瀏覽器

request對象經常使用類型,繼承自stream.Readable
request.headers請求報文頭
request.rawHeaders原生請求報文頭
request.httpVersion請求版本號
request.method請求方法
request.url請求路徑服務器

response:在服務器端用來向用戶作出響應的對象,凡是須要向用戶(客戶端)響應操做,都須要經過response對象來進行ui

response.writeHead(statusCode[, statusMessage][, headers])url

response.setHeaderspa

response.statusCode3d

responsestatusMessagecode

response.write對象

 1.requestblog

var http=require('http'); http.createServer(function(req,res){ //1.獲取全部請求報文頭
        //req.headers返回的是一個對象,裏面返回了全部的請求報文頭
        console.log(req.headers);
        
        res.end('over'); }).listen(9090,function(){ console.log('http://localhost:9090'); })

 

var http=require('http'); http.createServer(function(req,res){

    

//request.rawHeaders返回的是一個數組,數組裏保存的都是請求報文頭的字符串
console.log(req.rawHeaders);


 res.end('over'); }).listen(9090,function(){ console.log('http://localhost:9090'); })

 

var http=require('http'); http.createServer(function(req,res){ //2.httpVersion
        //獲取請求的客戶端所使用的http版本
 console.log(req.httpVersion); res.end('over'); }).listen(9090,function(){ console.log('http://localhost:9090'); }) 

var http=require('http'); http.createServer(function(req,res){ //3.method
        //獲取客戶端請求使用的方法(POST,GET......)
 console.log(req.method); //4.url
        //獲取請求的路徑(不包含主機名,端口號,協議)
 console.log(req.url); res.end('over'); }).listen(9090,function(){ console.log('http://localhost:9090'); })

 

2.response

var http=require('http'); http.createServer(function(req,res){ //1.response.write(chunk[, encoding][, callback])
        //chunk能夠是一個字符串或者一個buffer,第二個參數指定如何將它編寫出一個字節流,默認utf-8,當數據塊被刷新的時候,callback會調用
        res.write('hello world! 你好世界'); res.write('hello world! 你好世界'); //每一個請求都必須調用res.end //結束請求,該方法通知服務器,全部請求頭和響應主體都以發送,服務器將視爲已完成,能夠考慮本次響應結束。 //res.end()要響應數據的話,數據必須是String或者Buffer類型
        res.end('over'); }).listen(9090,function(){ console.log('http://localhost:9090'); })

但這樣會出現亂碼,因此須要加請求報文頭

//2.經過res.setHeader來設置響應報文頭,不過若是咱們不設置響應報文頭,系統也會默認有響應報文頭,而且默認已經發送給了瀏覽器
        res.setHeader('Content-Type','text/plain;charset=utf-8');

//3.設置http響應狀態碼
        //res.statusCode設置http響應狀態碼
        //res.statusMessage設置http響應狀態碼對應的消息
        res.statusCode=404; res.statusMessage='NOT FOUND';

這個是響應狀態碼,咱們須要不一樣的響應狀態碼來反饋給用戶信息,哪怕已經找到頁面

 

//4. res.writeHead()
        //直接向客戶端響應(寫入)http響應報文頭
        //建議在res.write()和res.end()以前調用
        //若是res.statusCode,res.statusMessage,res.setHeader和res.writeHead一塊兒設置,可是內容不同,服務器會響應res.writeHead
        res.writeHead(404,'not found',{ 'Content-Type':'text/plain;charset=utf-8' })

 

相關文章
相關標籤/搜索