본문 바로가기

WebApp/Node.js

Node.js- URL

http://opentutorials.org:3000/main?id=HTML&page=12

 

protocol :통신규칙 즉 사용자가 서버에 접속할때 어떤방식으로 통신할 것인가 

웹브라우져와 웹서버가 서로 정보를 주고받기위해만든 통신 규칙

 

host(domain) :인터넷에 접속되어 있는 각각의 컴퓨터 어떤 특정한 인터넷에 연결되어 있는 

컴퓨터를 가르키는 주소

 

port 번호 : 한개의 컴퓨터 안에 여러대의 서버가 있을 수있음 그때 클라이언트가 접속했을때 

어떤서버와 연결해야할지 애매 따라서 번호를 주어 그 번호의 서버와 통신 기본값은 port번호 80

 

path: 그 컴퓨터 안에 있는 어떤 디렉토리안의 어떤 파일인지 알려줌

 

query string: 이 값을 변경하면 이 앞에 있는 웹서버에게 내가 읽고싶은 정보는 html이고 page다 라고

정보를 전달할 수 있음 그 시작은?로 시작하기로 약속되어있고 값과 값은 & 값의 이름과 값은 =로 구분하도록 약속되어 있다 

 

2.query string

http://localhost/?id=HTML

목표1. id값 즉 query string이 무엇이냐에 따라서 사용자에게 적당한 컨텐츠를 보여주는 것

목표2. 주소창의 query string을 main.js 라는 nodejs 애플리케이션에서 이 값을 알아내는것

 

1. 우리는 주소창의 quety string 즉 id=HTML을 사용자가 id=css 등으로 바꾸었을때 그에 따라서 코드가 유동적으로 움직이도록 하고 싶다

 

2.  따라서 주소창의 query srting을 main.js에 코드로써 추출해오고싶다 그리고 node.js로 실행을 하면 끝

 

3.  google검색 : how to parse(추출하다) query string in node js

 

4. nodejs가 가지고 있는 수많은 기능들을 비슷한 조건끼리 묶어논것을 모듈이라고한다

그리고 우리는 url이라는 모듈을 사용할 것이다 >> var url = require('url')

 

*var _url = request.url;는 주소창의 / 이후 주소를 가르킨다 ex)/?id=HTML

 

5. var queryData = url.parse(_url, true).query;에 의해서 주소창의 /?id=HTML이 {id : HTML} 즉 객체의 형식으로
추출된다

 

6. 즉 queryData.id를 하면 id속성의 값인 HTML을 불러올 수 있고 이것을 response.end()의 ()안에 입력하면 웹브라우져상에 나타낼 수 있다.

 

7.그렇다면 response.end()의 ()안에 우리가만든 웹페이지를 넣으면 출력이 될 것이다

 

8.

*기본적으로 node.js는 javascript 기반이기 때문에 문자열''의 표시를 해주어야한다 여기서 template``활용

웹페이지의 소스코드를 template라는 변수로 주고 response.end()의 ()안에 넣어준다.

${queryData.id}의 자리엔 주소창의 /?id=XXX에 따라 XXX가 들어간다.

 

이때 링크를 눌렀을때 주소창의 /?id=XXX가 바뀌게 만들어주면(a href="/?id=XXX")

우리가 주소창에 XXX를 입력하는 행위와 링크를 클릭하는 행위가 같은 것이 된다.

 

if문의 해석은 만일 주소창의 주소가 / 라면 아래 ${queryData.id}를 welcome으로 한다는 내용

 

'WebApp > Node.js' 카테고리의 다른 글

Node.js- WEB 본문 만들기  (0) 2020.07.29
Node.js- Not found 오류 구현  (0) 2020.07.29
Node.js- input과 output  (0) 2020.07.28
Node.js - fs.readFile  (0) 2020.07.27
Node.js  (0) 2020.07.26