• 인터넷(Internet) 이란?
    • TCP/IP 이용해 전세계(소규모 통신망:LAN)을 상호접속형태(inter)로 점진적 확장 가능한 컴퓨터망(network).
    • 미국 국방성 Alphanet을 기원. (전시중 부분적인 장애에도 전체통신이 가능하도록...)
    • 서비스 종류
      • 21port : FTP
      • 22port : SSH
      • 23port : Telnet
      • 25port : 이메일 발신(SMTP)
      • 53port : DNS
      • 80port : Web (HTTP)
      • 110port : Post Office Protocol (POP3)
      • 111port : RPC
      • 194port : IRC
      • 143port : 이메일 수신(IMAP4)
      • 443port : HTTPS
      • ...
  • 웹(Web) 이란?
    • WorldWideWeb. 즉, 정보망의 한 단위.
    • 인터넷상의 서비스중 가장 대중적인 서비스. (거의... 인터넷 == 웹)
    • 멀티미디어 콘텐츠(리소스)를 HTML 으로 제공.
  • 웹(Web) 서비스 아키텍쳐 요소
    • 서버 : HTTP Connection을 관리하고, Resource에 관한 Transaction(Request/Response)를 처리함.
    • 프록시 : HTTP Transaction 중개자. (Filtering, Access-Control, Routing, Transcoding 등의 역할 가능)
      • forward-proxy : 예) www.test.com 를 -> 프록시가 받도록 설정하는 식의 방식.
      • reverse-proxy : 예) proxy.test.com 식으로, 명시적으로 프록시에 요청하는 방식.
    • 캐시 : 서버로의 불필요한 트레픽을 줄이는 역할. 
    • 게이트웨이 : 서로다른 Protocol 이나 Application 간을 연결하는 역할.
      • 예) HTTP/FTS : client의 HTTP요청 -> FTP으로 처리 -> HTTP응답
      • 예) HTTP/HTTPS : (사내 내부망) client의 HTTP요청 -> HTTPS 암호화 요청.
      • 예) CGI(Common Gateway Interface) : 외부의 Application의 처리결과를 받아 처리.
    • 터널(터널링 게이트웨이) : HTTP를 지원하지 않는 Application에 HTTP 접속하는 방법 제공.
      • 예) client --http--> tunnel --tcp--> App
  • MIME 타입 이란?
    • Multipurpose Internet Mail Extensions.
    • 멀티미디어 콘텐츠(리소스)의 "종류/형식"을 나타내는...
    • HTTP에서는 Content-Type 으로 사용.
    • 예) text/html , image/jpeg , application/json , application/x-www-form-urlencoded , ...
      • application/octet-stream : (8bit단위) 이진데이터의 모든 종류. 말그대로 바이너리라 디폴트하게 아무대나 사용가능.
  • URI 이란?
    • URL 혹은 URN (URL:직접적 , URN:추상적)
    • <스킴>://<사용자이름>:<비밀번호>@<호스트>:<포트>/<경로>;<파라미터>?<질의>#<프래크먼트>
    • url.getProtocol() + "://" + url.getHost() + url.getPath()  + "?" + url.getQuery() + "&signature="
    • IP + Port = Address ???
  • RESTful 이란?
    • Representation State Transfer
    • URL의 유일성 보장.
    • 하나의 Resource -> 하나의 URL (예외: 복수명사는 Collection 사용)
    • RESTful 데이터는 Document 와 Collection 으로...
    • 인터넷을 설계했던 컴퓨터 과학자, RoyFielding
    • 효율적인 네트워크 아키텍쳐 원칙 모음. (웹을 효과적으로 구성하는 원리)
    • 서버/클라, 무상태, 캐시처리, 계층화, CodeOnDemand, 인터페이스 일관성
    • (HTTP에 5대 원칙은 이미 녹아있다… 우리는 마지막 URL 라우트만 통용적으로 신경쓰면 됨)
  • TCP Connection Diagram
  • ...

-끝-

'통신과 프로토콜 그리고 보안' 카테고리의 다른 글

JWT (JSON Web Token)  (0) 2020.10.19
OAuth  (0) 2019.11.10
HTTP 와 SSL 및 보안  (0) 2019.11.10
SMTP , (POP3) , (IMAP)  (0) 2019.11.10
SSH (TELNET) , (scp), (rsync)  (0) 2019.11.10

+ Recent posts