본문 바로가기

컴퓨터 과학(CS)29

API, HTTP API, REST API 차이 기상청 날씨정보 API, 증권 API, 지도 API 등등 막연하게 API란 단어를 들어왔다. API를 가져다 써, API로 개발한다 등등 개념은 제대로 모르며 사용 해왔기에 이번엔 API에 대해 개념적으로 정리해보고자 한다. API의 마지막 알파벳 i가 뜻하고 있는 인터페이스 개념부터 살펴보자. *인터페이스(Interface): 사물과 인간 사이의 경계에서 상호 간의 소통을 위해 만들어진 물리적 매개체나 프로토콜을 말한다. 예를 들어 TV 리모콘 전원 버튼은 인터페이스다. 사람이 리모콘 버튼을 눌러 TV가 켜지도록 연결하는 매개체이기 때문이다. API(Application Programming Interface) 애플리케이션(응용프로그램)에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능.. 2021. 12. 18.
HTTP/1.1, HTTP/2, QUIC 차이 (TCP, UDP 개념 포함) HTTP 버전별 차이를 설명하기 이전에 위 그림의 통신 모델에서 Transport(전송) 계층의 역할부터 알아본다. 전송 계층은 목적지(서버)에 신뢰할 수 있는 데이터를 전송하기 위해 필요하다. 물론 물리 계층, 데이터링크 계층, 네트워크 계층만으로 목적지에 데이터를 보낼 수 있지만, 중간에 데이터가 손상되거나 유실되더라도 이들 계층에서는 아무것도 해주지 않는다. 데이터가 제대로 전달 되었는지의 역할을 전송 계층에서 해주는 것이다. 전송 계층의 특징을 보면 신뢰성/정확성과 효율성으로 구분할 수 있다. 신뢰할 수 있고 정확한 데이터를 전달하는 통신을 연결형 통신이라 하고, 효율적으로 빠르게 데이터를 전달하는 통신을 비연결형 통신이라 한다. 일반적으로 신뢰성과 정확성이 보장되지 않은 통신은 사용하고 싶지 않.. 2021. 12. 16.
HTTP, Socket 통신의 차이 일반적으로 휴대폰, 컴퓨터 등에서 필요로 하는 데이터들은 Server에서 받아온다. 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신으로는 크게 HTTP 통신과 Socket 통신 2가지가 있다. 오늘은 이 2가지 통신에 대해 알아보자. HTTP(HyperText Transfer Protocol) 하이퍼 텍스트를 주고 받기 위한 규칙(통신 규약)을 말한다. 하이퍼 텍스트란 연결 고리를 통해 다른 문서로 접근할 수 있는 텍스트를 말한다. HTML의 를 떠올리면 이해하기 쉽다. HTTP라는 통신 규칙을 만든 것은 좋은데, 정작 하이퍼 텍스트를 보기좋게 표현할 방법이 없었다. 누구든 동일한 방법으로 하이퍼 텍스트를 표현할 방법이 필요했다. 이에 팀 버너스리는 인터넷 기반의 하이퍼 텍스트 작성을 위한 방법들.. 2021. 12. 15.
URI, URL, URN 차이 URI 이란? 위키피디아 통합 자원 식별자(Uniform Resource Identifier, URI)는 인터넷에 있는 자원을 나타내는 유일한 주소이다. URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어 다닌다. URI의 하위개념으로 URL, URN이 있다. 역사 URI와 URL은 역사를 함께 공유한다. 1994년 팀 버너스 리가 하이퍼텍스트를 제안하면서 하이퍼링크의 대상이 되는 자원을 대표하는 짧은 문자열로 URL의 개념을 암묵적으로 도입하였다. 당시 사람들은 이를 "하이퍼텍스트 이름" 또는 "문서 이름"으로 불렀다. Uniform: 리소스를 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것 Identifier: 다른 항목과 구분하는데 필요한 .. 2021. 12. 15.
이더넷(Ethernet), 인터넷(Internet)과 웹(web)의 차이 네트워크 서적을 읽던 중, 이더넷이라는 개념이 등장하였다. 인터넷도 아닌 이더넷.. 들어보긴 했는데, 인터넷의 뭔가 하위 버전 느낌?? 인터넷 접속? 웹 접속? 인터넷과 웹은 그럼 같은 거냐 점점 더 미궁속으로.. 속 터진다. 정리하며 명확하게 구분해보자. 위키백과 정의 이더넷(Ethernet) 컴퓨터 네트워크 기술의 하나로, 일반적으로 LAN에서 데이터를 주고 받기 위해 가장 많이 활용되는 기술 규격이다. 허브, 스위치와 같은 장비에 연결된 같은 네트워크 안의 컴퓨터끼리 데이터를 주고 받을 때 사용되며, OSI 모델의 물리 계층(LAN카드, 케이블 영역)에서 신호와 배선, 데이터 링크 계층에서 MAC 주소와 프로토콜의 형식을 정의한다. 인터넷(Internet) 1973년 TCP/IP를 정립한 빈튼 서프.. 2021. 12. 14.