이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ HTTP Method의 속성 HTTP Method에는 세 가지 속성 안전(Safe Methods), 멱등(Idempotent Methods), 캐시 가능(Cacheable Methods)이 있다. 하나씩 살펴보자. ⛅️ 안전 Safe 메서드를 호출해도 리소스가 변경되지 않는 것을 말한다. 해당 메서드를 계속해서 호출해도 리소스가 변경되지 않음을 보장한다. 해당 리소스의 변경의 유무만 고려한다. GET, HEAD, OPTIONS, TRACE와 같은 메서드가 여기에 해당한다. ⛅️ 멱등 Idempotent 호출의 횟수와 관련 없이 결과가 같은 것을 말한다. 멱등 Idempotent는 외부..
Network
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ PUT PUT /members/100 HTTP/1.1 Content-Type: application/json { "username": "hello" "age": 20 } ● 리소스를 완전히 대체 리소스가 있다면 대체(replace) / 리소스가 없다면 생성(create) ● POST와의 차이점 → 클라이언트가 리소스를 식별하고, 리소스의 위치를 알고 URI를 지정해야 한다. /members가 아닌, /members/100 ● 리소스를 완전히 대체 즉, 덮어버린다는 것을 유의하자! 예를 들어 기존에 username & age 필드가 있었지만 age 필드만 있는 리소스를 PUT한다면, 결..
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ HTTP Method HTTP API 설계에서 가장 중요한 것은 "리소스"를 식별하는 것이다. 예를 들어 '회원을 등록하다'에서 리소스는 "회원"이지, "등록하다"는 리소스가 아니다. 회원과 관련된 기능에 대한 API를 만든다고 가정하자. '회원을 등록하다', '회원을 조회하다'가 /members가 될텐데, 그렇다면 '등록하다'와 '조회하다'를 어떻게 구분해야 할까? 이 때 사용하는 것이 바로 HTTP Method이다. '등록하다'에서 POST 메서드를 사용하고, '조회하다'에서 GET 메서드를 사용하면 같은 URI를 사용하더라도 구분이 가능할 것이다. HTTP 요청 메서드는 HTTP..
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ 클라이언트 - 서버 구조 클라이언트-서버는 Request(요청) - Reponse(응답) 구조를 가지고 있다. 클라이언트가 서버에 원하는 Request(요청)을 보내고 Response(응답)을 기다린다. 서버는 클라이언트의 Request에 대한 결과를 만들어서 Response(응답)을 한다. ⛅️ HTTP message의 구조 [start-line 시작 라인] http request message : request-line 형식 method SP request-target SP HTTP-version CRLF method HTTP 메서드: 서버가 수행해야 할 동작 지정 ex) GET,..
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!⛅️ HTTP는 Stateless하다.✅ Stateless? Stateless란 서버가 클라이언트의 상태를 저장하지 않는 것을 말한다. 장점 : 서버의 확장성이 높다 → 서버에 상태를 저장하지 않으므로 서버 확장이 용이하다. 단점 : 클라이언트가 데이터를 추가 전송해야 한다. ✅ 상황 예시 - 가게에서 물건 구매고객: 이 바나나 얼마인가요?점원 : 4000원입니다.고객 : 2개 구매할게요.점원 : 8000원 입니다. 신용카드, 현금 중에 어떤걸로 결제하시겠어요? (구매 상품과 수량에 대한 state 저장/유지)고객 : 신용카드로 하겠습니다.점원 : 8000원 결제 완료되었습..
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ 4xx Client Error ✅ 4xx 상태 코드가 발생하는 경우 ● 클라이언트가 오류의 원인일 때 ex) 요청 시 잘못된 문법을 사용 ● 클라이언트가 오류의 원인이기 때문에 똑같이 재시도를 하면 계속 실패한다. (잘못된 요청/데이터를 계속 보내는 것이기 때문!) ✅ 401 Bad Request ● 클라이언트의 요청 오류로 인해 서버가 요청을 처리할 수 없음 ● 클라이언트는 요청 내용을 재검토하고 수정하여 다시 요청해야 한다. ● 요청 parameter가 잘못된 경우 or API 스펙이 맞지 않는 경우... etc ✅ 401 Unauthorized ● 클라이언트가 해당 리소스에 대한..