본문 바로가기
IT 지식

웹서버 개발 맛보기

by Nickman 2024. 3. 19.

웹서버는 어떤 식으로 동작할까?

  1. 주소창에 URL 입력 -> 웹서버에 송신
  2. 웹서버는 송신된 리퀘스트에 대하여 html(화면 페이지) 파일 반환

그렇다면 URL 은 무엇일까요?

Uniform Resource Locator

http://www/google.com:80/index.html

http : scheme
HTTP hypertext transfer protocol을 사용하면 읽을 수 있는 웹페에지라는 뜻입니다.
+) https: 암호화에 따른 secure 통신을 수행하는 것

www : 호스트명

google.com : 도메인명
google은 회사명, com은 기업을 나타냅니다.
(ICANN : Internet Corporation for Assigned Names and Numbers 에서 중복되지 않도록 관리합니다.)

:80 포트번호
1대의 서버 안에서 프로그램을 구별하기 위한 것입니다. 웹서버는 통상 80번 포트로 규정이 결정되어 있습니다.

Web 서버 / 클라이언트 개발

브라우저와 웹서버는 네트워크를 경유해서 통신을 수행합니다.
이 통신에는 TCP(Transmission Control Protocol)를 사용합니다.
TCP를 통해 클라이언트와 서버 간에 임의의 바이트열을 주고받습니다.

소켓(Socket)이란?

TCP를 사용한 통신을 수행하기 위해 사용하는 라이브러리입니다.

일상에서 소켓의 통상적인 의미는 '규격화된, 뭔가를 밀어 넣는 곳'을 의미합니다. 네트워크에 있어서 소켓 또한 동일한 의미를 가집니다.

소켓에 의한 통신은 다음의 절차를 가집니다.

  1. 서버에서 소켓을 생성한 뒤, 클라이언트의 접속을 대기
  2. 클라이언트에서 소켓을 생성한 뒤, 서버 호스트와 포트를 지정해서 접속을 시도합니다.

위 절차에 따라 서버와 클라이언트 간에 임의의 데이터를 쌍방향으로 보내는 것이 가능한 전송로가 만들어집니다.

서버는 대기하고 있는 소켓이 일단 클라이언트와 접속을 하면 새롭게 다른 소켓을 만들어 다시 대기상태를 가지게 됩니다. (서버는 복수개의 클라이언트와 통신이 가능해집니다.)

 

'IT 지식' 카테고리의 다른 글

와이어샤크 네트워크 분석 툴  (0) 2024.03.19