본문 바로가기
CS/네트워크

인터넷이 동작하는 가장 기본적인 원리

by cariño 2022. 9. 20.
728x90
반응형

출처 페이지
HTTP란 무엇인가

인터넷(Internet)

  • 인터넷은 TCP/IP(Transmission Control Protocol/Internet Protocol)라는 통신 프로토콜을 기반으로 하여 전 세계적으로 연결된 컴퓨터 네트워크

🔸[인터넷의 구성]
     클라이언트와 서버로 구성 / 수많은 클라이언트 컴퓨터와 서버 컴퓨터, 그리고 이들로 구성된 네트워크들의 집합체인 것이다.

🔸[인터넷 서비스 종류]
     인터넷 ≠ 웹이며, 웹은 인터넷 서비스들 중 하나이다.
     인터넷 서비스의 종류: 월드 와이드 웹(WWW), 전자 메일(e-Mail), 파일 공유(토렌트, eMule 등), 웹캠, 동영상 스트리밍, 온라인 게임


웹(WWW)

🔸[웹의 개념]
     웹(Web): 월드 와이드 웹(World Wide Web, WWW, W3).
     인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간

🔸[웹의 특징]
     HTTP 프로토콜, HTML 형식, 하이퍼텍스트 방식을 이용하여 인터넷 상에서 텍스트나 그림, 소리, 영상 등과 같은 멀티 미디어 정보를 제공한다.

  • URL: 웹 페이지를 찾기 위한 주소/ URL은 웹상에서 문서, 이미지, 동영상 등의 자원들의 위치를 나타내는 주소이다.
    • [URL의 구조]
      - 첫 번째, 프로토콜 종류
      - 두 번째, 자원이 있는 서버의 IP 주소, 도메인 주소, 포트 주소
      - 세 번째, 자원의 위치
      프로토콜 // IP 주소 or 도메인 주소 or 포트 주소 / 자원 위치
    • 🔹[http]:
      서버와 클라이언트가 인터넷 상에서 데이터를 주고받기 위한 프로토콜(protocol)
      🔹[IP 주소]:
      IP 주소 (Internet Protocol address, IP address)는 컴퓨터 네트워크 상에서 각 장치들의 고유 번호로 외우거나 구별하기 어렵기 때문에, DNS를 통해 구별하기 쉬운 도메인 주소로 변환된다.
      🔹[도메인 주소]:
      외우거나 식별하기 어려운 IP 주소(예:240.10.20.1)를 example.com 처럼 기억하기 쉽게 만들어주는 네트워크 호스트 이름을 의미한다.
      🔹[포트 주소]:
      네트워크 디바이스 간의 특정 연결 식별

      [웹(WWW)의 포트 번호]: 80

🔸[웹의 동작 원리]
「 클라이언트가 서버에 요청을 보내면 서버는 해당 요청에 대해 응답한다. 」

① 사용자가 웹 브라우저의 검색창에 특정 사이트의 주소를 입력한다. 
② 웹 브라우저가 DNS에게 특정 사이트의 (도메인)주소를 요청한다.
③ DNS가 웹 브라우저에게 사이트의 IP주소를 응답한다.
④ 웹 브라우저가 웹 서버에게 IP 주소를 이용하여 html 문서를 요청한다.
⑤ 웹 서버는 바로 웹 페이지를 공급하지 못하고, 웹 애플리케이션 서버와 데이터 베이스에서 웹 페이지 작업을 처리한다.
⑥ 작업 처리 결과를 웹 서버로 보낸다.
⑦ 웹 서버는 웹 브라우저에게 html 문서 결과를 응답한다.
⑧ 웹 브라우저는 화면에 웹 페이지를 출력한다.

🔸[웹 클라이언트]

  • 서비스를 요청하는 역할과 화면에 결과물(정적인 데이터이거나 동적인 결과)을 출력
    • 정적인 데이터: 이미지, HTML파일, css 파일, JavaScript 파일과 같이 컴퓨터에 저장되어 있는 파일이다.
    • 동적인 결과: 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물
  • 웹 클라이언트의 종류: 웹브라우저, 웹크롤러

🔸[웹 서버]

  • 웹 서버 소프트웨어가 동작하는 컴퓨터
  • 웹 서버의 가장 중요한 기능은 클라이언트가 요청하는 HTML문서나 각종 리소스를 전달하는 것이다.

🔸[WAS (Web Application Server)]

  • 웹 서버를 제공하는 기능
  • 브라우저와 DBMS(데이터 베이스 관리 시스템) 사이에서 동작하는 미들웨어
    - 미들웨어: 클라이언트와 DBMS 사이에서 중개 역할을 하는 소프트웨어

🔸[데이터 베이스 (DB)]

  • 데이터의 정보를 저장하는 곳이며, WAS에서 데이터를 요청하면 필요한 데이터를 응답한다.
  • WAS에서 로직을 수행하다가 DB접근이 필요하면 SQL질의를 통해 데이터를 요청 => DB는 요청사항에 맞는 응답을 보낸다.
  • 반대로 WAS에서 DB에게 해당 내용을 저장하게끔 요청하면, DB는 그 내용을 정리하여 저장한다.

웹 서버 vs WAS
브라우저와 렌더링 엔진 동작 원리
프로세스란?


프론트엔드 개발자의 역할 중 하나가 서버로 데이터를 전송하는 것이기 때문에, HTTP를 모른다면 역할을 다하고 있다고 말할 수 없습니다.

HTTP(Hypertext Transfer Protocol)

  • HTTP는 서버와 클라이언트(웹 브라우저)가 인터넷상에서 데이터를 주고받기 위한 프로토콜(protocol)이다.HTTP
    Request 형식
    Request Method
    Response 형식
    응답 코드
  • HTTP 통신 방식
    HTTP 기본적으로 요청/응답 (request/response) 구조로 되어있다.
    클라이언트가 HTTP request를 서버에 보내면 서버는 HTTP response를 보내는 구조.
    클라이언트와 서버의 모든 통신이 요청과 응답으로 이루어 진다.
  • HTTP는 Stateless 이다.
    Stateless 란 말그대로 state(상태)를 저장하지 않는 다는 뜻.
    즉, 요청이 오면 그에 응답을 할뿐, 여러 요청/응답 끼리 연결되어 있지 않다는 뜻이다. 즉 각각의 요청/응답은 독립적인 요청/응답 이다.
    예를 들어, 클라이언트가 요청을 보내고 응답을 받은후, 조금 있다 다시 요청을 보낼때, 전에 보낸 요청/응답에 대해 알지 못한다는 뜻이다.
    그래서 만일 여러 요청과응답 의 진행과정이나 데이터가 필요할때는 쿠키나 세션 등등을 사용하게 된다.

  • 요청 메서드: 서버에게 요청의 종류를 알려주기 위해서 사용한다.
  • GET은 가져오다, POST는 게시하다, PUT은 집어넣다, PATCH는 고치다, DELETE는 지우다.
  • 보통 PUT은 전체 수정(대체), PATCH는 부분 수정, DELETE는 제거 요청 시 사용
    • GET: 정보를 요청하기 위해 사용(SELECT)
    • POST: 정보를 밀어넣기 위해 사용(INSERT)
    • PUT: 정보를 업데이트하기 위해 사용(UPDATE)
    • DELETE: 정보를 삭제하기 위해 사용(DELETE)
    • HEAD: HTTP헤더 정보만 요청한다. 해당 자원이 존재하는지 혹은 서버에 문제가 없는지를 확인하기 위해서 사용한다.
    • OPTIONS: 웹 서버가 지원하는 메서드의 종류를 요청한다.
    • TRACE: 클라이언트의 요청을 그대로 반환한다.
728x90

'CS > 네트워크' 카테고리의 다른 글

[Web] GET과 POST의 비교 및 차이  (0) 2022.10.24
네트워크를 실현하는 기술  (0) 2022.10.22
네트워크란?  (1) 2022.10.07
comments에 대한 CRUD 요청 만들어보기  (0) 2022.08.31

댓글