HTTPS란 무엇일까? HTTPS란 "HTTP" + "S (secure)"의 의미를 가지고 있으며 "Hyper Text Transfer Protocol Secure (Socket layer)"의 준말입니다. ( = HTTP over SSL(TLS) = HTTP over Secure ) 즉, HTTP의 낮은 보안성을 해결할 목적으로 클라이언트와 서버사이의 정보를 인증하는 단계를 만들어 유저의 정보를 보호할 수 있습니다. 따라서, HTTPS의 첫번째 역할은 제 3자가 서버와 클라이언트가 주고받는 정보를 탈취할 수 없도록 하는 것입니다. HTTPS 프로토콜의 특징은 암호화 과정에서 비대칭키를 사용한다는 것인데요, 전혀 다른 키를 한 쌍으로 암호화 및 복호화를 합니다. HTTPS 연결 성립 과정 1. 클라이언트..
API는 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식을 말한다. API를 작성할 때는 잘 알아볼 수 있도록 작성하는 것이 중요하다. 그렇다면 API를 작성하는 방법은 어떻게 될까? 리차드슨의 REST 성숙도 모델을 통해서 단계별로 알아보자 REST 성숙도 0단계 0단계는 REST API를 작성하기 위한 가장 기본단계로 HTTP 프로토콜을 사용한다. REST 성숙도 1단계 1단계에서는 개별 리소스와의 통신을 준수해야 한다. 다시 말하자면 모든 자원은 개별 리소스에 맞는 엔드포인트를 사용해야하며 요청하고 받은 자원에 대한 정보를 응답으로 전달해야한다. 또한 엔드포인트는 명사형으로 작성하는 것이 바람직하다. 더불어 리소스 ..
웹은 인터넷에서 제공되는 하이퍼 텍스트 시스템이다. # 하이퍼 텍스트 시스템이란? 문서안에 다른 문서의 위치정보 등을 서로 연관지어 참조할 수 있는 문서 웹은 HTML로 대표되는 하이퍼텍스트 언어와 인터넷이 융합하여 탄생하게 되었다. 클라이언트-서버 아키텍처 웹에서 제공되는 서비스는 주로 서비스를 이용하는 (클라이언트) 와 서비스 제공쪽(서버)으로 나뉜다. 이러한 구조를 클라이언트-서버 아키텍처(2티어 아키텍처)라고 한다. # 상품 정보와 같은 리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것 그러나, 일반적으로 서버는 리소스를 전달만하며, 리소스를 저장하는 공간을 별도로 마련하기도 하는데 이 공간을 데이터베이스(DB / Data Base)라고 한다. 클라이언트의 구분 클라이언트는 플랫폼에 따라..
인터넷은 인터넷 제공업체에서 제공한 인터넷 라우터를 통해 연결되어있다. 이러한 연결은 좁은 범위( LAN / Local Area Network )와 넓은 범위의 연결( WAN / Wide Area Network)이 있다. 통신사가 지역마다 통신할 수 있는 거점을 두고 있고 거점마다 서로 연결되어 세계적인 네트워크를 구성하게 된다고 생각하면 된다. 인터네트워킹(internetworking) 인터넷이란 용어는 네트워크와 사이를 의미하는 인터의 인터네트워크에서 유래했다. 네트워크의 확장은 크게 두가지의 방법이 있는데 특정 네트워크를 확장하는 방법과 네트워크를 연결하는 방법이 있다. 바로, 네트워크를 연결하는 방법이 인터네트워킹이다. 인터네트워킹의 장점은 일부 네트워킹의 고장이 다른 네트워크에 광범위하게 영향을..