공부/네트워크

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

Dr.thousand 2022. 11. 1. 20:50
728x90

데이터를 전달하는 방식

 

쿼리 파라미터를 통한 데이터 전송

GET , 정렬 필터(검색어)


메시지 바디를 통한 데이터 전송

POST,PUT,PATCH

회원가입, 상품 주문, 리소스 등록, 리소스 변경


정적 데이터 조회

REQUEST - GET /static/star.png HTTP/1.1

RESPONSE - HTTP/1.1 200 OK Content-Type: image/jpeg Content-Length:34012

보통 쿼리파라미터없이 리소스경로로 조회가 가능하다.


동적 데이터 조회

REQUEST - GET /search/q=hello&hl=ko HTTP/1.1 Host:www.google.com

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

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

조회는 GET 사용

쿼리 파라미터 사용(메시지 바디를 써서 전송할 수도있지만 지원하지 않는 서버가 있기때문에 권장하지 않음)


HTML Form을 통한 데이터 전송

<form action="/save" method="post">

  <input type="text" name="username"/>

  <input type="text" name="age"/>

</form>

 

REQUEST - POST /save HTTP/1.1 Host:localhost:8080 Content-Type:application/x-www-form-urlencoded

message body { username='cheon'&age=27 }

! multipart/form-data 의 경우

파일을 첨부하여 전송한다는 의미

REQUEST - POST /save HTTP/1.1 Host:localhost:8080 Content-Type:multipart/form-data; boundary=---XXX

message body{

  ------XXX

  Content-Disposition: form-data; name="username"

cheon

------XXX

Content-Disposition:form-data; name="age"

27

------XXX

Content-Disposition: form-data; name="file1"; filename="test.png"

Content-Type:image/png

}


HTTP API 를 통한 데이터 전송

직접 HTTP를 구성하여 전송

REQUEST - POST /members HTTP/1.1 Content-Type:application/json

서버 to 서버

앱 클라이언트

웹 클라이언트

  Html에서 form전송 대신 자바스크립트를 통한 통신에 사용(ajax)

POST ,PUT , PATCH : 메시지 바디를 통해 데이터 전송

Content-Type : application/json을 주로 사용 (사실상 표준)

728x90
반응형

'공부 > 네트워크' 카테고리의 다른 글

[네트워크] 프로토콜의 기능  (0) 2023.12.27
[네트워크] 네트워크와 프로토콜  (0) 2023.12.27
HTTP 메소드 속성  (0) 2022.11.01
HTTP 메소드  (0) 2022.11.01
[네트워크] 컴퓨터 네트워크 개념  (0) 2022.09.30