본문 바로가기
Back-End/NodeJS

[ NodeJS ] 웹 서버 + URL

by 2CHAE._.EUN 2021. 8. 10.

* 해당 포스터는 생활코딩 강의를 정리한 내용입니다.


1. 웹 브라우저와 웹 서버

 

웹 브라우저의 주소를 입력해서 요청을 하면 웹 서버는 그 요청에 따른 정보를 찾아서 응답해주는 관계에 있다.

NodeJS는 Apache와 똑같이 웹 서버로 동작이 가능하다. ( 웹 서버 기능이 내장되어 있음 )

 

① 127.0.0.1:3000

    console.log(__dirname + url) → \Nodejs\memo\NodeJS/index.html

    사용자가 요청할 때 마다 읽어야하는 파일을 만들어야 한다. 

 

② response.end(fs.readFileSync(__dirname + url));

    NodeJS가 경로에 해당하는 파일을 읽어서 그 값을 가져와서 response.end에 넣어준다. 

    response.end에 어떤 코드를 넣으냐에 따라 사용자에게 전송하는 데이터가 달라진다.


2. URL의 형식 

 

같은 파일이라도 값을 달리해서 php 어플리케이션이 클라이언트 또는 웹 브라우저에게 서로 다른 페이지를

만들어서 보낸다.

 

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

 

ⓐ http : 프로토콜 통신 규칙

→ 사용자가 서버에 접속할 때 어떤 방식으로 접속할지 지정

https는 hypertext transfer protocol이라해서 웹 브라우저와 웹 서버가

서로 데이터를 주고 받기 위해 만든 통신 규칙이다. 

 

ⓑ opentutorials.org : 도메인 네임 / 호스트 

→ 어떤 특정한 인터넷에 연결되어 있는 컴퓨터를 가리키는 주소

* host : 인터넷에 접속되어 있는 각각의 컴퓨터

 

ⓒ 3000 : 포트번호

→ 한 대의 컴퓨터 안에는 여러 개의 서버가 존재 가능하다.

클라이언트가 접속했을 때 그 중 어느 서버와 통신해야 하는지 포트번호를 정해줘서

3000번 포트와 연결되어 있는 서버와 통신

 

127.0.0.1:3000 / localhost:3000

3000번 포트에 NodeJS 웹서버를 실행

 

* 웹 서버는 유명한 서버이기 때문에 웹 서버의 기본 포트 번호는 80이다.

http를 통해서 접속하면 웹 서버에 접속한 것이기 때문에 포트 번호를 생략하게 된다면 기본 값인 80에 접속하게 된다.

 

ⓓ main : path

→ 컴퓨터 안의 어떤 디렉토리의 어떤 파일인지 가리킴

 

ⓔ id=HTML&page=12 : query string

query string의 값을 변경하면 웹 서버에게 어떠한 데이터를 전송 가능

* query string 시작은 '?'로 약속되어 있음

값과 값은 '&'를 사용

값의 이름과 값은 '='로 구분

 

http://localhost/?id=HTML
→ 우리의 웹 애플리케이션으로 접속했을 때 id 값이 무엇이냐에 따라 

사용자에게 적절한 컨텐츠를 보여줘야함

* id=HTML -> 쿼리 스트링