2014-06-09 2 views
0

나는 웹 사이트 성능을 높이려고 노력했으며 브라우저에 보내기 전에 모든 것을 gzip해야한다고 들었다.node.js에 헤더를 설정하는 방법

해결책 (내가 희망)은 콘텐츠 인코딩 헤더를 포함하는 것입니다.

C:\Users\user\workspace\site\app.js:35 
    res.setHeader("Content-Encoding","gzip"); 
    ^
TypeError: Cannot call method 'setHeader' of undefined 

당신이 설명 할 수 잘못 여기서 뭐하는거야 : 내 app.js 파일의 맨 아래에

는 나는이 같은 오류를 수신하고이 코드

http.createServer(app).listen(app.get('port'), function(req,res){ 
    console.log('Express server listening on port ' + app.get('port')); 
    res.setHeader("Content-Encoding","gzip"); 
}); 

있나요? 내가 아는 바로는 코드에는 적절한 구문이 있습니다. 해결책은 무엇입니까.

또한 내 웹 사이트의 속도가 빨라 집니까? (나는 확실하지 않다)

내가 아는 또 다른 것은 헤더가 텍스트 앞에 보내어서는 안된다는 것이다. 내 이슈가 될 수 있다고 생각한다

답변

3

listen()에 전달 된 콜백에는 매개 변수가 없으며 서버가 포트에 바인딩하여 수신 할 때만 호출됩니다.

응답 압축의 경우 직접 시도하는 대신 compression 미들웨어를 사용하는 것이 좋습니다.

0

get 또는 post과 같은 경로 api를 사용하면됩니다.

이에 코드를 변경

:

app.get('/', function(req,res){ 
    res.setHeader("Content-Encoding","gzip"); 
}); 

http.createServer(app).listen(app.get('port'), function(){ 
    console.log('Express server listening on port ' + app.get('port')); 
}); 
관련 문제