IT's Jenna

Server 본문

Backend/Backend 기본

Server

developer Jenna 2021. 1. 11. 11:37

서버란?

  • Client가 원격으로 접속할 수 있도록 특정 Port를 Open 해두고, 네트워크를 통해 정보나 서비스를 제공하는 하나의 컴퓨터

네트워크란?

  • 다수의 컴퓨터들을 연결해서 서로 통신할 수 있게 만든 형태
  • 실제로 전 세계 바다 밑에 해저 광케이블이 연결되어 네트워크 통신이 가능하게끔 만들어져 있다.

프로토콜이란?

  • 원거리 통신 장비에서 메세지를 주고받을 때 사용하는 규칙과 양식의 체계

모듈이란?

  • 독립된 기능을 하는 하나의 소프트웨어
  • 스크립트를 기능 단위로 쪼개는것을 모듈화라고 한다.

http프로토콜이란?

  • Hyper Text Transfer Protocol
  • WWW(인터넷)상에서 브라우저와 서버 간에 정보를 주고받는 통신 프로토콜
  • TCP, UDP (데이터 전송 프로토콜) 사용
  • Port : 80
  • 웹/앱 모두 사용 가능하다.
  • TCP(Transmission Control Protocol) : 연결형 서비스, 수신 여부 확인, 속도 느림, 1:1 연결방식, 연속성보다 신뢰성 있는  전송이 중요할 때 사용, ex.채팅서비스
  • UDP (User Datagram Protocol) :  비연결형 서비스, 수신 여부 확인 안 함, 속도 빠름, 1:n 연결방식, 신뢰성보다 연속성이 중요할 때 사용, ex. 화상회의

http프로토콜의 구성

  1. Header : Client와 Server 간의 부가적인 정보 전송 (데이터 타입, 보안, 압축 알고리즘 등)
  2. Body : 실제로 전송하는 데이터 (이미지, 문자열, HTML 코드 등)
  3. Request : Client로부터 받은 요청
  4. Response : 요청에 대한 Server의 대답

CORS?

  • Cross-Origin-Resource-Policy
  • 크로스 도메인 이슈
  • 허용되지 않은 출처에서의 접근을 제한하는 정책
  • Client IP는 사이트 도메인으로 접속, 사이트 도메인이 서버 IP로 접속 (해당 도메인에서만 서버에 접속할 수 있도록 제한해둠)
  • 헤더에서 ("Access-Control-Allow-Origin", "특정 도메인 주소")를 입력해두면 해당 도메인 주소만 서버에 접속 가능하다.
  • ("Access-Control-Allow-Origin", "*") 경우 모든 도메인에서 접속 가능하다.

데이터 포맷

  1. XML
    • Extensible Markup Language
    • 문자 기반의 마크업 언어로 데이터를 주고받는다.
    • nodejs에 xml parsing기능이 탑재되어 있진 않지만, npm 사이트를 통해 누군가 만들어둔 패키지를 다운로드 받아서 사용할 수 있다.
    • 마크업 언어 : 문서의 기본 정보에 화면에 표시되는 형식이나 구조 등 추가적인 정보를 제공하기 위해 문서 내에 끼워 넣는 언어
  2. JSON
    • Javascript Object Notation
    • XML보다 간단하고 용량이 작음, 최근 대부분의 데이터는 JSON 포맷
    • Jsonformatter 사이트를 통해 스크립트 확인이 용이하다.
    • https://jsonformatter.curiousconcept.com/# 
    • JSON의 형태
      1. Object : {“key” : value, “key” : value}
      2. Array : [1, 2, 3, 4, 5]
      • Object의 key는 string만 가능하다.
      • Value 값은 string, num, array도 가능하고, array안에 object가 들어가는 것도 가능하다.
      • 쇼핑몰의 경우 자사 상품이 네이버, 11번가 등을 통해서 판매되었을 때 서버가 해당 정보를 xml 또는 JSON 포맷으로 받아서 읽는다.
      • 해당 데이터 파일을 읽은 원하는 형태로 parsing을 진행한다.

 

 

<참고>

https://mangkyu.tistory.com/15

https://zeddios.tistory.com/90

'Backend > Backend 기본' 카테고리의 다른 글

Express 환경 사용하기 1  (0) 2021.01.18
NodeJS 사용 시 필요한 패키지 및 사이트  (0) 2021.01.13
Server 2  (0) 2021.01.13
NodeJs Architecture  (0) 2021.01.09
백엔드 기본 개념 및 용어 정리  (0) 2021.01.09
Comments