HTTP 헤더에 대해 자세히 알면 좋으니까! 시작했다.
리액트로 프론트 엔드를 공부하던 와중에 application/json 타입으로 통신을 할 때도 있었고,
multipart/form-data로 통신을 할 때도 있었다.
결론부터 말하자면 string 등의 타입만 보낼 때는 json이 편리하지만, 음악/사진/동영상 등은 form data가 편리하다고 생각한다.
JSON이란 JavaScript Object Notation의 줄임말로, 데이터를 전송하거나 저장할 때 많이 사용되는 경량의 데이터 교환 방식을 말한다.
다음은 장점과, application/json 형식으로 바이너리 데이터를 취급할 때의 단점을 정리했다.
이 타입은 MIME 데이터 스트림의 규칙을 준수한다.
(프론트) append
메소드로 key-value 값을 하나씩 추가해주고, 같은 key를 가진 값을 여러 개 넣을 수 있다.
단, set
으로 넣으면 덮어쓰인다.
숫자를 넣어도 문자열이 되고, 배열을 넣어도 콤마로 구분한 문자열이 된다. 또한 객체를 넣으면 무시가 된다.
위 특징을 잘 참고해서 사용해야 한다.
데이터를 보내는 각각의 방식에는 장단점이 있다.
검색을 하다 알게된 사실인데, form-data와 json으로 각각을 동시에 보내는 방법도 있다.
두 가지의 장점을 살리기 위해서 고안된 방법 같은데, form 안에 json을 넣어서 보냄으로써 구현된다.
https://2ham-s.tistory.com/307
https://velog.io/@ryan-son/multipartform-data-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0-vs-applicationjson