728x90
URL 구조
http://search.naver.com:8080/search?ie=UTF8&query=exerd+모델+내보내기 (출처: 유입경로 살짝바꿈)
1. http
2. search.naver.com
3. 8080
4. /search
5. ?ie=UTF8&query=exerd+모델+내보내기
1. 프로토콜(protocol) : 사용자가 서버에 접속할때 어떤 방식으로 통신할 것인지 나타내는 부분
HTTP = HyperText Transfer Protocol , 웹브라우저와 웹서버가 서로 데이터를 주고받기 위해서 만든 통신 규칙
2. 호스트/ 도메인 주소, 이름
3. 포트(port) 번호: 해당 포트와 연결된 서버와 통신하게 됨
4.경로(path) : 컴퓨터안에 있는 어떤 디렉터리에서 어떤 파일을 불러올 것인지
5. 쿼리 스트링(query string, 질의 문자열) : 웹 서버에 데이터를 전달하는 역할,
물음표(?)로 시작하고, 값과 값 사이는 앰퍼샌드(&)로 구분함. 이름과 값은 등호(=)로 구분.
위를 해석하면 "encoding은 UTF8이고, 검색어는 exerd 모델 내보내기이다" 라는 식
URL에서 쿼리 스트링 추출하기
var url = require('url');
requirl => 요구하다라는 의미
url이라는 모듈이 필요하다라고 Node.js에게 요구한 것
모듈(module) = 같은 범주의 기능을 모아놓은 집합
var _url = requst.url;
var queryData = url.parse(_url, true).query;
요청값에 따라 다르게 응답하기
response.end(queryData.id);
결과
전체코드
더보기
var http = require('http');
var fs = require('fs');
var url = require('url');
var app = http.createServer(function(request, response) {
var _url = request.url;
var queryData = url.parse(_url, true).query;
console.log(queryData.id);
if(_url == '/') {
_url = '/index.html';
}
if(_url == '/favicon.ico') {
return response.writeHead(404);
}
response.writeHead(200);
response.end(queryData.id);
})
app.listen(3000);
'{ "Hello World!" }; > Node.js' 카테고리의 다른 글
(Node.js) 패키지 매니저(npm)와 PM2 (1) | 2023.12.10 |
---|---|
(Node.js) 동기, 비동기 그리고 콜백 (0) | 2023.12.10 |
TIL 231210 (0) | 2023.12.10 |
TIL 231208 (0) | 2023.12.09 |
TIL 231205 (1) | 2023.12.05 |