1. MIME 타입
https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
1-1. RFC 6838
프로토콜은 각각의 단체나 조직이 서로 협의하여 정하는 규칙이다. 예를 들어, A팀과 B팀이 각자의 프로토콜을 가지고 있다. A팀은 1을 하면 앉아, B팀은 2를 하면 뛰어라는 규칙을 가지고 있다고 가정하자. 4명이 모여서 합의해야 할 때가 왔을때, A팀과 B팀의 프로토콜을 합쳐서 하나의 규칙을 만든다. 하지만 다른 단체들도 각자의 프로토콜을 가지고 있을 것. 이 단체들이 다른 단체와 합쳐지고, 또다른 단체들도 계속 합쳐지다 보면... 수천 개의 단체가 모이게 된다. 그럴 때에는 더 이상 프로토콜이라고 하기보다는 인터페이스식으로 진행된다. 즉, 각 단체들이 상호간에 맞춰서 규칙을 정하는 것! 이렇게 나온 프로토콜 중, 6838번째에 나온게 MIME타입! RFC 6838가 만들어졌다!
1-2. MIME
원래는 문서양식이 HTML밖에 없었다. 그러다가 동영상, 사진, TXT파일 등을 교환하기 시작하면서 서로의 프로토콜이 달라 난잡해지는 현상이 발생하게 된다. (= 데이터의 형식을 명확하게 알려줄 필요성을 느끼게 됨.) 그렇게 다양한 형식의 데이터를 원활하고, 올바르게 처리하기 위해 나온게 MIME 타입!
대제목/소제목 (text/plain, image/jpeg) 이런 식으로 꼭! 정확하게! 지정해줘야 한다.
그래야 컴퓨터가 파싱할 수 있음.
MIME타입은 반드시!! 바디가 있어야 한다!! (서버 → 클라이언트니까)
1-3. 꼭 알아야하는 MIME 타입
[ 1. application/json ]
JSON 데이터를 나타낸다. JSON은 데이터를 저장하고 교환하기 위한 경량의 형식으로 주로 웹 애플리케이션에서 데이터를 전송하고 처리하는데 사용된다. JSON 데이터는 텍스트 형식이며, JavaScript에서 객체를 표현하는 방식과 유사하다.
[ 2. application/x-www-form-urlencoded ]
웹 폼 데이터를 나타낸다. 웹 폼은 웹 페이지에서 사용자로부터 정보를 입력받는데 사용되는 요소. 폼 데이터는 일반적으로 서버로 전송되어 처리됩니다. application/x-www-form-urlencoded는 폼 데이터를 인코딩하여 URL 매개변수와 유사한 형식으로 전송하는 방식이다.
[ 3. text/html ]
HTML 문서를 나타낸다.
[ 4. text/plain ]
일반 텍스트 데이터를 나타낸다. 텍스트 데이터는 사람이 읽을 수 있는 형식의 텍스트로 구성되어 있다. (주로 일반 텍스트 문서나 로그 파일 등)
그 외는 너무 많아서 다 알 수가 없으니
’http로 byte를 전송하고 싶은데 mime type이 뭐야?’
하고 챗GPT로 물어봐라
Share article