HTTP(S) 프로토콜
HTTP 프롤토콜은 TCP를 기반으로 하고 있는 어플리케이션 레이어의 프로토콜로 HTTP인 경우에는 80번 포트, HTTPS인 경우에는 443번 포트를 사용한다.
⊕ HTTPS는 TCP 계층에 SSL/TLS 보안이 적용된 HTTP 버전의 프로토콜이다.
1. HTTP(S) 서버와 클라이언트
HTTP는 서버와 클라이어트 구조로 동작하며, 데이터 요청과 응답이 이루어질 때마다 매번 연결을 새로 시작하고 종료해 버린다.
→ 서버는 접속했던 클라이언트 뿐만아니라 클라이언트와의 대화 내용에 대한 어떤 기억/기록도 보존하지 않는다.
2. HTTP(S) 프로토콜에서 자원 식별
네트워크상에는 다양한 자원(Resource)이 존재하며, 이 자원들을 구별하여 지정하는 방식으로 URI, URL, URN을 사용할 수 있다.
⊕ URI는 URL과 URN을 포함하는 광의의 개념으로 URL과 URN는 모두 URI의 한 종류이다.
HTTP(S)에서도 클라이언트가 서버에 있는 자원을 지정하여 요청하기 위해 URI/URL을 사용하고 있다.
자원 지정방식 | 관련하는 주요 프로토콜 | 형식 | |
URL | 엑세스 방법(프로코콜)과 위치 | HTTP, FTP, JDBC, Email(mailto) |
https://developer.mozilla.org/en-US/docs/Learn/ ftp://mydomain.com |
URN | 종류와 이름(식별자) | MQTT(AWS) |
URN:isbn:0679736697 ← 자원은 책번호 URN:phone:0679736697 ← 자원은 전화번호 |
3. HTTP(S)의 주요 어플리케이션
HTTP를 IOT에서 이용하고 있는 대표적인 예로는 SoftAP 방식으로 WIFI 연결(Pairing), OTA 또는 FOTA 구현에서 FW 다운로드, 모바일 클라이언트(앱)의 구현을 들 수 있겠다.