본문 바로가기

TIL

[TIL-100] 생활코딩 WEB2-Home server 5 / 스파르타코딩클럽 코딩 용어 해설

5. Port

  • 서버 컴퓨터로 외부에서 지역 네트워크에 접속해서 공유기에 연결된 한 클라이언트 컴퓨터에 도달하려면?
    • 공용 IP로 접속해봤자 해당 공유기에 연결된 어떤 컴퓨터로 가야할지 모름.
    • 접속이 들어왔을 때 누가 서버에 응답하게 할지 공유기가 교환/연결해줌.
  • 포트
    • 항구에 정박한 배들은 각자 번호를 갖고 있고, 그에 해당하는 포트에 정박함.
    • 하나의 컴퓨터에 여러 개의 서버가 있을 수 있음. 특정 컴퓨터에 접속 시, 여러 서버들 중 어떤 서버와 상호작용할지 식별하는 방법이 포트 번호를 사용하는 것.
  • 포트 번호 : 0부터 65535까지 있음. 
    • 80번은 http : hyper text transfer protocol. 웹페이지 주고 받을 때 사용하는 통신규약. 웹은 http 사용하는 통신시스템. 컴퓨터에 웹서버 깔면 기본적으로 80번 포트에 연결되게(listen을 듣게) 약속돼있음.
      • 웹서버를 80번에 설치하지 못할 땐 다른 데 쓰면 되는데, 관습적으로 8000번이나 8080번 사용.
    • 1023번까지는 예약된 포트(well-known port) : 사용할 수 없거나 문제 생김.
  • url format
    • [scheme:[//user[:password]@]host[:port]][/path][?query][#fragment]
      • scheme : 통신규약
      • host : 도메인 네임
    • http://로 시작하는 url에 접속하면 80번 포트에 접속됨.
    • 8080번 포트를 리스닝하고 있는 웹서버 호출하려면 :8080 으로 끝나는 url(예. http://blabla:8080)에 접속하면 됨. 80포트일 때는 url에서 포트 번호가 생략된 것.

 

 


2. 컴퓨터와 인터넷

  • 컴퓨터 : 기계 모아둔 것.
    • 하드디스크 : 적어두기
    • 램 : 기억하기
    • CPU : 계산하기
    • 메인보드 : 꽂아두기
  • 운영체제(OS) : 컴퓨터에 하나하나 지시 내리지 않아도 알아서 각 부품들이 작동하게 제어/조작해줌. 인간이 기계와 소통하게 해주는 기반 프로그램.
    • 리눅스 : 오픈소스. 무료. 컴퓨터, 서버 여러 대 필요할 때 사용.
  • 코딩 : 운영체제에 명령 내려 제어하는 것.
    • 프로그래밍 언어 : 그 명령 내리는 방법. 각 언어가 하는 게 다른 것 아니라, 어떤 언어로 명령할지의 차이.
    • 프로그램 : 코딩을 미리 해놔서 반복적으로 같은 동작 작동하게 하는 것. 코딩은 프로그램 만드는 것. 그래서 프로그래밍.
  • 인터넷 : 컴퓨터끼리 대화하려면 필요.
    • 웹(http) : 대화를 주고 받기 위해 필요한 규칙. 인터넷 세상에 여러가지 다른 통신방식들도 있는데 그중 웹통신.
    • https : 암구호 표를 이용해서 보안 강화함.
  • 웹서버 : 항상 켜진채 인터넷 세상을 잘 듣고 있다가 http 요청이 오면 이 파일을 줘! 명령내린 것.

 

3. 웹서비스 동작 방식

  • 서버 : 컴퓨터의 직업 중 하나
    • 역할 : 데이터를 저장하고 주고 받는 것.
    • 그래서 서버가 터지면 데이터가 전달 안됨.
  • 컴퓨터는 서버 돌리면서 동시에 데이터베이스도 되고, 웹서핑도 할 수 있음.
  • 브라우저 : 서버로부터 받아서 보여줌.
    • 저장되어있기 때문에 인터넷 끊는다고 바로 사라지지 않음.
    • html, css, javascript 받아서 페이지 구성.
  • 데이터
    • html, css, javascript 그대로 두고 데이터만 업데이트하고 싶을 때, 데이터만 내려줄 수도 있음.
    • 제이슨 방식 : 데이터 주는 규칙. { 키: 밸류 }
    • 앱에서 많이 씀. 기본 껍데기는 두고, 데이터만 받아서 붙임.
      • 앱 업데이트를 안하면 눈 내리는 껍데기가 없어서 카톡 눈 내리기 기능이 안 되는 거.
      • 웹에서는 안 그럼. 서버에서 껍데기까지 다 받아옴.
  • 서버의 출입문 : 컴퓨터끼리 어떤 규칙으로 통신하나?
    • => 다음시간에