JaeWon's Devlog
article thumbnail
반응형

회사에 서버 개발자로 신입으로 들어가고 선임이 질문했다.

 

00씨 웹이 동작하는 원리를 알고 계세요???

 

나는 아는대로 대답은 하였고, 선임은 많이 아시네요라고 하였지만 웹 기술에 대한 지식과 개념이 너무나 부족하고 정리가 안되있어, 좀 더 공부해보았다.


1. 기본 용어 정리

  • WWW (World Wide Web)
    - 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간

  • 인터넷
    - 전 세계를 연결하고 있는 컴퓨터 네트워크


  • - e-mail 과 같은 인터넷 상에서 동작하는 서비스( 웹 서버 + 웹 브라우저)

  • Web Server (웹 서버)
    - 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML, CSS 등과 같은 웹 페이지를
      클라이언트에게 보내는 컴퓨터 프로그램.
    - 대표적으로, Apache(아파치), Nginx 등이 있다.

  • Cleint (웹 브라우저)
    - 웹 서버에서 받은 HTML 문서, 이미지 등을 사용자 화면에 보여주는 소프트웨어.
    - 대표적으로 익스플로러, Chrome(크롬), Firefox(파이어폭스) 등이 있다.

  • HTML(HyperText markup Language)
    - 프로그래밍 언어는 아니며, 우리가 보는 웹 페이지를 만들기위한 마크업 언어.
    - <>(꺽쇠괄호)를 사용한 태그를 이용해 표현한다.

  • CSS
    - HTML이 웹 사이트의 몸체를 담당한다면 CSS는 옷과 액세서리 같은 꾸미는 역할을 담당한다.
    - 웹 페이지의 디자인(글자 크기, 색상, 배경 색상 등)을 정의한다.
    - HTML 구조는 그대로 두고 CSS 파일만 변경해도 다른 웹 페이지처럼 보여줄 수 있다.

  • JavaScript
    - 객체기반의 프로그래밍 언어
    - 웹 페이지의 동작을 담당하는 동적인 컨텐츠(멀티미디어, 움직이는 이미지 등)를 다룬다.

2. 동작 원리

①② 사용자가 웹 브라우저를 통해 찾고 싶은 웹 페이지의 URL 주소를 입력함.

③ 사용자가 입력한 URL 주소 중에서 도메인 네임(domain name) 부분을 DNS 서버에서 검색함.

④ DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달함.

 

⑤⑥ 웹 페이지 URL 정보와 전달받은 IP 주소는 HTTP 프로토콜을 사용하여 HTTP 요청 메시지를 생성함.

이렇게 생성된 HTTP 요청 메시지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송됨.

 

⑦ 이렇게 도착한 HTTP 요청 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 URL 정보로 변환됨.

 웹 서버는 도착한 웹 페이지 URL 정보에 해당하는 데이터를 검색함.

 

⑨⑩ 검색된 웹 페이지 데이터는 또 다시 HTTP 프로토콜을 사용하여 HTTP 응답 메시지를 생성함.

이렇게 생성된 HTTP 응답 메시지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 원래 컴퓨터로 전송.

 

 도착한 HTTP 응답 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 데이터로 변환.

⑫ 변환된 웹 페이지 데이터는 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 됨.

3. 기타 설명

  • DNS (Domain Name Service)
    - 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 192.168.xx.xx와 같은 숫자가 아닌
      이해하기 쉬운 도메인 이름으로 변환해주는 것
    - 예를들어, 인터넷에 naver를 치게되면 DNS를 통해 naver의 IP주소인 125.209.222.142 로 변환하여 연결

  • HTTP (HyperText Transfer Protocol)
    - 클라이언트와 서버가 서로 통신할 수 있게 하기 위한 요청(Request)/응답(Response) 프로토콜

  • TCP/IP (Transmission Control Protocol/Internet Protocol)
    - 인터넷과 관련된 프로토콜들을 모은 것
    - 데이터가 어떻게 웹에서 동작하는지 정의하는 통신 규약

출처

- http://tcpschool.com/webbasic/works

- https://ko.wikipedia.org/

반응형
profile

JaeWon's Devlog

@Wonol

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!