Interaction with Server

JongGwon Seon·2020년 12월 27일

Browser

웹 서버에서 이동하며, 쌍방향으로 통신하고 HTML 문서나 파일을 출력하는 GUI(Graphic User Interface) 기반의 응용 소프트웨어. 대표적인 HTTP 사용자 에이전트이다.

Server

클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 또는 그 장치. 서버에서 동작하는 소프트웨어를 서버소프트웨어라 함. 하드웨어 자원을 공유 가능하게 한다. 클라이언트 요청에 의해 서비스를 제공한다. 이를 "Client-Server System"이라 한다.

API(Application Programming InterFace)

프로그램들이 서로 상호작용하는 것을 도와주는 매개체!
서버와 DB에 대한 출입구 역할, 애플리케이션과 기기 간 통신을 원활하게 모든 접속을 표준화 한다.
Private API, Public API, Partner API 등으로 간소화 가능하다.

HTTP(HyperText Transfer Protocol)

항상 요청과 응답으로 이루어진다 (Header & Body)
네트원크 상에서 통신을 하기 위한 규약. HyperText를 전송하기 위한 Protocol이다.

HyperText => 사용자에게 내용의 비순차적 검색이 가능하도록 제공되는 텍스트. 참조를 통해다른 문서로 즉시 접근이 가능.

  • Method
  1. GET - 서버에 자원 요청
  2. POST - 서버에 자원 생성
  3. PUT - 서버의 자원 수정
  4. DELETE - 서버의 자원 제거

Ajax(Asynchronous Javascript and Xml)

JavaScript 라이브러리 중 하나. 클라이언트에서 서버에 데이터를 요청하고 결과를 돌려받을 수 있음. Ajax는 HTML 페이지 전체가 아닌 일부분만 갱신할 수 있도록 XMLHttpRequest 객체를 통해 서버에 request를 함. 이 경우, JSON이나 XML 형태로 필요한 데이터만 받아 갱신하기 때문에 효율적이다.

  • 장점
  1. 높은 속도
  2. 비동기
  3. 줄어드는 코딩 양
  4. 다양한 UI
  • 단점
  1. 히스토리 관리가 안됨.
  2. 보안상의 문제
  3. 서버부하 가능성
  4. 오작동 우려 높아짐
  5. 쓸 수 없는 브라우저가 있음
  6. HTTP 클라이언트의 기능이 한정적
  7. 디버깅이 힘듦
  8. 지원하는 Charset이 한정적
  9. 다른 도메인과 통신이 힘듦

XML

다목적 마크업 언어. 웹상에서 구조화된 문서를 전송 가능하다.
데이터에 의미를 부여하는 메타데이터 기술이 가능하다.

profile
안녕하세요 초심자입니다!

0개의 댓글