본문 바로가기

server

HTTP API URL 설계

문제: 회원에 대한 조회


url는 리소스를 판별하는데 무조건 써야함(명사) ex) 미네랄 그 자체 , 미네랄을 캐라가 아니다.

 

 

 

해결


HTTP 매서드를 이용해 동사를 표현( get, put post...)

 

1.GET 

 

2.POST

    메세지 바디를 통해 서버로 내 요청 데이터 전달( 서버가 아직 식별하지 않은 새 리소스 생성) ex) member 리소스

    

   ex) 신규데이터 등록, 

    요청 데이터를 신규리소스 

3.PUT 

   기존에 데이터가 완전히 대체되어버림. 만약에 없으면 새롭게 데이터 생성

4. PATCH 

    부분 변경

5. DELETE 

 

 

 

매서드의 속성


 

1.안전 :해당 리소스를 호출하는 거기 때문에  

2.멱등 : 100번 호출 하든 결과가 똑같다.   POST는 멱등하지 않다. ex) 배송 2번 호출, 결제

 (어떤 요청을 했어도 서버가 잘 안됐을 수도 있지만 계속 같은 결과이기 때문에 계속 요청할 수 있다)

 (멱등은 외부 요인 Guest2가 put 요청을 해서 Guest1의 첫 번째 두 번째 결과가 다를 수 있지만 

   이것 까지 고려하지 않는다)

3.캐시가능 (웹이 또 요청하지 않기 위해서 미리 저장하는 행위)

 

매서드의 활용


1.클라이언트에서 서버로 데이터 전송

   

 

   HTML FORM을 통해 데이터 보내기 ex) 회원가입, 상품주문, 데이터 변경

 

  1. <form action="/save" method='post'>

 

  2. 웹 브라우저가 생성산 HTTP 메세지 생성

     POST /save HTTP/1.1

     Host:localhost8080

     content-Type: application/x.www-form.urlencoded

     username=kim&age=20

 

 

 

 참고 if  파일 업로드 같은 경우는 Content-type:multipart/form-data

 

    HTTP API (JS 의 AJAX, REACT VUE)   

 

 

참고 JSON vs XML 공부

   

 

 

   

 

 

 

'server' 카테고리의 다른 글

http 상태코드  (0) 2021.11.03
회원관리 시스템  (0) 2021.11.03
URI URL 그리고 통신 동작 원리  (0) 2021.11.02
HTTP 흐름으로 이해하기  (0) 2021.11.02
node js server 첫 스타트!!  (0) 2021.10.04