본문 바로가기

개발 관련/http4

HTTP 메시지 최근에 REST api 에 대해서 공부했었는데, 마침 새로운 기능을 만들 일이 있어서 해당 기능에 REST 를 적용해서 만드려고 하고 있습니다. 그런데 이전 코드에서는 HTTP 메소드를 GET,POST 구분없이 사용하고 있었기에 (조회를 할 때, POST 에 파라미터를 사용해서 한다거나 하는 형식), 클라이언트 개발자분이랑 맞추면서 하는데, 서로 기본적이라고 생각하는 부분이 다르기에 이해시켜주는데 에를 먹었던 기억이 있습니다. (헤더의 Content-Type 이라던가, Accept-Type 등) 얘기를 하면서, 내가 어느 정도 알아도, 설명을 하는 것은 또 별개의 영역이라는 느낌이 들더군요. (물론 잘 알면, 설명도 잘 하겠지만요..) 막연하게 당연히 그런거 아니야? 라고 생각할 만한 HTTP 헤더와 상.. 2022. 7. 14.
1. HTTP 개관 1. HTTP HTTP 는 신뢰성 있는 데이터 전송 프로토콜을 사용한다. 따라서 전송 중 데이터가 손상되거나 꼬이지 않음을 보장한다. 개발자는 인터넷의 결함이나 약점에 대한 걱정 없이 애플리케이션 고유의 기능을 구현하는 데 집중할 수 있다. 2. 웹 클라이언트와 서버 웹 서버 : HTTP 프로토콜로 의사소통하기 때문에 보통 HTTP 서버라고 불리며, 웹 콘텐츠는 이 웹 서버에 존재한다. 인터넷의 데이터를 저장하고, HTTP 클라이언트가 요청한 데이터를 제공한다. HTTP 클라이언트와 함께 월드 와이드 웹 (WWW) 의 기본 요소 웹 클라이언트 가장 흔한 클라이언트는 인터넷 익스플로러, 크롬 등의 웹 브라우저 서버에게 HTTP 객체를 요청하고 사용자의 화면에 보여줌 3. 리소스 웹 서버는 웹 리소스를 관리.. 2022. 7. 14.
REST (2) 지난 포스팅 에서는 REST 의 개요와 로이 필딩이 말하는 6가지 제약사항 그리고, 리처드슨 성숙도라는 것에 대해서 알아봤습니다. 개념 위주로 알아갔는데요. 이번에는 약간(?) 실전 위주로 어떤 것들이 있는지 알아보려고 합니다. 1. REST 형 API 디자인 1. 리소스 명명 REST형 API는 사용하는 클라이언트 입장에서 봤을 때 의미가 분명해야 합니다. 리소스를 어떤 명사로 할 때엔 데이터 구조가 어떻게 생겼는지, 클라이언트가 어떤 식으로 사용할 가능성이 클지 미리 파악을 해야 합니다. (설계를 잘 해야겠죠..?) 2. 동사가 아닌 명사로 리소스명은 동사가 아니라 명사로 시작하며, 리소스는 리소스를 해야할 일은 HTTP 메소드를 통해 표현합니다. ex) 전체 사용자를 의미하는 명사 users 와 사.. 2022. 7. 14.
REST (1) 요즘 API 를 보면 흔히 REST 하게 API 를 작성한다고들 합니다. 실제 보면 대부분 url 을 명사로 쓰고, HTTP Method 를 잘 배분한다는 것으로 알고 있습니다. 실제로 이렇게 설명하는 곳도 많고, 저 또한 뭐 대수인가 싶은 느낌으로 저정도만 알고 있었습니다. 최근 책을 보다가 REST 에 대한 내용이 나와 이를 토대로 알고 있는 부분에 대해서는 견고하게, 몰랐던 부분은 플러스(+) 해보려고 합니다. 1. REST 란? REST (REpresentational State Transfer - 표현적인 상태 전송) 란 쉽게 말하면, 애플리케이션의 리소스(데이터) 를 표현하는 URI 양식입니다. REST 라는 단어 자체는 2000년 로이 필딩(Roy Fielding) 의 논문에서 처음 나온 단.. 2022. 7. 14.