everyday com-eat
작성일
2023. 12. 8. 23:42
작성자
갱수터
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);

 

 

결과

좌 브라우저/우 터미널 localhost:3000/?id=HTML 

 

 

 

전체코드

더보기
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);
728x90

'{ "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