HTTP 기초 - 5 - https, REST, mime type

고은연·2021년 2월 19일
3

HTTP와 HTTPS

HTTPS는 Hyper Text Transfer Protocol Secure의 약자입니다. S가 Secure - 보안의 약자임에서 알 수 있듯이 클라이언트와 서버 사이의 통신 규약에 보안을 더한 것입니다.
구체적으로는 RSA 알고리즘으로 암복호화 키를 교환한 다음 핸드쉐이킹을 통해 전달할 데이터를 암호화하는 과정을 거칩니다.
최근에는 검색 엔진이 HTTPS를 더 선호하기도 하고, 브라우저에 HTTP일 경우 보안 인증서가 없다고 나오는 경우가 많아 많은 사이트가 HTTPS를 적용합니다.
HTTPS 인증서는 공인된 인증 기관에서 구매할 수 있는데, 연간 3-5만원 사이입니다. 이 외에 무료로 쓸 수 있는 인증서는 letsencrypt가 있습니다.

REST

REST(Representational State Transfer)는 2000년 로이 필딩의 박사 논문에서부터 시작된 웹의 아키텍쳐입니다. 웹상의 문서 뿐만 아니라 동영상, 첨부 파일 등을 하나의 리소스로 표현하고, 리소스를 어떻게 다룰지를 동사(GET,POST,PUT,DELETE)로 표현하는 방식입니다.
현대의 웹 개발은 브라우저와 서버간의 통신 뿐만 아니라 서버와 서버 사이의 API(Application Programming Interface) 통신을 넘어 MSA(Micro Service Architecture)로 흘러가고 있습니다. 이 때 각 리소스 표현을 단일화하기 위해 주로 REST가 사용되고, REST를 통해 데이터를 교환하는 것을 RESTFUL하다고 표현합니다.
2021년 기준으로 대부분의 데이터 교환 형식은 JSON(JavaScript Object Notation)을 채택합니다.

mime type

mime type은 서버가 클라이언트에 응답할 때 문서의 종류를 나타내기 위한 표현 방식입니다. 클라이언트는 이 정보를 받아서 이미지를 보여줄 지, 첨부 파일인지, HTML 문서인지, 동영상 파일인지 구분할 수 있습니다.
mime type은 type/subtype 구조로 표현되어집니다. 예를 들면 아래와 같습니다.

text/plain
text/html
image/jpeg
image/png
audio/mpeg
audio/ogg
audio/*
video/mp4
application/octet-stream

가장 많이 사용되는 형식 몇 개는 아래와 같습니다.

이름설명
application/octet-stream이진 파일입니다. 대부분의 경우 HTTP 헤더의 Content-Disposition: attachment와 함께 사용되어 브라우저는 첨부파일을 다운로드하는 용도로 사용합니다.
text/plain일반 텍스트입니다.
text/csshtml 문서의 모양을 구성하는 CSS(Cascading Style Sheet) 파일입니다.
text/htmlhtml 문서입니다.
image/jpegjpg 이미지입니다.
image/pngpng 이미지입니다.
profile
중년 아저씨. 10 + n년차 백엔드 개발자. 스타트업과 창업, 솔로프리너와 1인 기업에 관심 많아요.

0개의 댓글