Skip to content

Latest commit

 

History

History
90 lines (58 loc) · 3.48 KB

HTTP메서드활용.md

File metadata and controls

90 lines (58 loc) · 3.48 KB

어떤식으로 개발할때 활용이 되는지를 알아보겠음

예시를 클라이언트에서 서버로 데이터 전송하는지 예를 쭉 들것이고

HTTP API 설계 예시를 들것이다

어떻게 전달하느냐

첫번쨰는 쿼리 스트링 그래서 URI 끝에 쿼리스트링(파라미터)를 넣어서 데이터를 전송하는 방식이 있고

주로 정렬 필터(검색어)

두번째는 '메시지 바디'를 통한 데이터 전송 이때는 POST PUT PATCH 를 사용한다 회원 가입 상품 주문 리소스 등록 리소스 변경 할때 주로 씁니다

크게 4가지 상황으로 예시를 들겠습니다

  1. 정적 데이터 조회 클라이언트에서 서버로 데이터 전송하는걸 말하는데 왜 정적 데이터 조회 부터 하지? 간단한 예제부터하기 위해

이런경우에는 사실 추가적인 데이터를 전달하는 것이 없다 그냥 단순하게(URI - URL)경로만 서버에서 받아서 어?나 경로로 왔네 하고 이미지를 내려주겠죠? 사실 쿼리파리미터를 쓰지 않고 추가적인 데이터가 필요가 없어요 정적데이터를 조회할때는요

이미지나 정적 텍스트 문서 같은 경우는 조회니까 Get을 사용하구요 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능합니다

그러면 조회를 할때 데이터를 전달할때가 있어요 그때가 동적 데이터 조회 할떄인데요

검색어는 hello 언어는 ko 한국어 이렇게 서버에서 막찾아서 클라이언트에 찾아줍니다

필터 검색어를 필터라고 하거든요?

주로 검색, 게시판 목록에서 정렬 필터(검색어)

조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용

조회는 GET 사용

GET은 쿼리 파라미터 사용해서 데이터를 전달

이게 어쩃든 조회 잖아요? 조회는 Get을 사용해야 한다고 배웠죠

HTML 폼을 가지고 데이터를 전송하는걸 알려드릴게요

예를 들어서 액션은 메서드는 HTTP 메세지를 생성해줍니다 특정 컨텐트 타입으로 보내주고 application/x-www-form-urlencoded 바디값이 쿼리파라미터와 굉장히 유사한 키벨류 바디값을 생성해서 넘겨줍니다

그런데 폼으로 전송할때 이 메서드를 get으로 바꿀수 있어요

save는 절대 사용하면 안돼요 get을~

파일전송 mutipart/form-data

boundary=---XXX 얘를 가지고 가서 잘라요

당연히 내가만들는게 아니고 웹브라우저가 자동으로 알아서 잘라요

---XXX으로 표시된 곳마다 part를 나누고 여러파트(multipart)가 되기 때문에 multipart/form-data이다.

주로 바이너리 데이터를 전송할때 사용합니다

HTML Form 데이터 전송 정리 • HTML Form submit시 POST 전송 • 예) 회원 가입, 상품 주문, 데이터 변경 • Content-Type: application/x-www-form-urlencoded 사용 • form의 내용을 메시지 바디를 통해서 전송(key=value, 쿼리 파라미터 형식) • 전송 데이터를 url encoding 처리 • 예) abc김 -> abc%EA%B9%80 • HTML Form은 GET 전송도 가능 • Content-Type: multipart/form-data • 파일 업로드 같은 바이너리 데이터 전송시 사용 • 다른 종류의 여러 파일과 폼의 내용 함께 전송 가능(그래서 이름이 multipart) • 참고: HTML Form 전송은 GET, POST만 지원

오~ Collection과 Store

정리가 되면 좋은데 설계하다보면 좋은 프렉티스들이 모임