티스토리 뷰

request에서 url 가져오기

  • localhost:3000 ___ 에서 ___의 부분을 가져온다.
  • 아무것도 안써있으면 '/' 로 표시된다. 
  • 인자로 받아온 request 객체 에서 url 객체를 가져와, 변수에 저장한다.
 const url = req.url;
 if ( url === '/' ) .... 

response의 setHeader와 write 메서드를 통해 응답하기 

  • 인자로 받은 response 객체의 setHeader 메서드를 통해 write 메서드의 컨텐츠 타입을 정할 수 있다.
  • 컨텐츠 타입을 html로 정했다면, wirte 메서드 내부에 html 소스코드를 삽입하여 html 소스를 응답(response)할 수 있다.
  • write의 마지막엔 꼭 res .end() 메서드를 실행해서 write 메서드를 실행한 것을 전송해주어야 한다.
  • 따라서 res.end() 이후에 다시 write을 하면 오류가 발생한다.
const http = require('http'); // http 객체를 가져온다. 

const server = http.createServer((req,res)=>{ //http 객체로부터 서버를 만들어서 저장해놓는다. 
    
    const url = req.url;
    const method = req.method;
    if( url === '/') {
        res.setHeader('Content-Type', 'text/html');
        res.write( '<html>');
        res.write( '<head><title>Enter Button</title> </head>');
        res.write( '<body><form action="/message" method="POST"><input type="text" name="message"><button type="submit">Send</button></form></body>');
        res.write( '</html>');
        return res.end(); //end를 지점으로 res.write한 것을 클라이언트에게 보낸다. 
        //return 하는 이유는 아래 코드를 실행하지 않고 /message로 post하기 위해서이다.
        //return하지 않으면 message로 post되지 않고 아래 코드가 실행된다.

    }
    res.setHeader('Content-Type', 'text/html');
    res.write( '<html>');
    res.write( '<head><title>Hello!</title> </head>');
    res.write( '<body><h1>hello from node js </h1></body>');
    res.write( '</html>');
    return res.end();

});
server.listen(3000);  
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함