Web Tech

HTTP Method

걍가영 2024. 6. 26. 16:01

HTTP Method

클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식이다.

주요 메소드 

  • GET : 리소스 조회 
  • POST:  요청 데이터 처리, 주로 등록에 사용 
  • PUT : 리소스를 대체(덮어쓰기), 해당 리소스가 없으면 생성 
  • PATCH : 리소스 부분 변경 (PUT이 전체 변경, PATCH는 일부 변경) 
  • DELETE : 리소스 삭제 

기타 메소드

  • HEAD : GET과 동일하지만 메시지 부분(body 부분)을 제외하고, 상태 줄과 헤더만 반환
  • OPTIONS : 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS에서 사용)
  • CONNECT : 대상 자원으로 식별되는 서버에 대한 터널을 설정
  • TRACE : 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행 

HTTP 메서드 - GET 

  • 리소스 조회 메서드 (Read) 만일 틀서버에 전달하고 싶은 데이터는 쿼리스트링를 통해서 전달한다
    ex) GET /members/1?username=name&uid=200
  • 쿼리스트링 외에 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 서버에서 따로 구성해야 되기 때문에 지원하지 않는 곳이 많아서 권장하지 않으며, 캐싱이 가능하다.

HTTP 메서드 - POST 

  • 전달한 데이터 처리/생성 요청 메서드 (Create)
  • 메시지 바디(body)를 통해 서버로 요청 데이터 전달하면 서버는 요청 데이터를 처리하여 업데이트한다.
  • 전달된 데이터로 주로 신규 리소스 등록, 프로세스 처리에 사용한다.
HTML Form 데이터 전송은HTML Form 태그 문서로 사용자와 UI로 상호작용하여,
서버와 통신 회원 가입, 상품 주문, 데이터 변경에 이용 HTML Form 전송은 GET, POST만 지원한다.

HTTP 메서드 - PUT 

  • 리소스를 대체(수정)하는 메서드 (Update) 만일 요청 메세지에 리소스가 있으면 덮어쓰고, 없으면 새로 생성한다. 
  • 데이터를 대체해야 하니, 클라이언트가 리소스의 구체적인 전체 경로를 지정해 보내주어야 한다. 

HTTP 메서드 - PATCH 

  • 리소스 일부 부분을 변경하는 메소드 (Update) 
  • 만일 PATCH를 지원하지 않는 서버에서는 대신에 POST를 사용할 수 있다. 

HTTP 메서드 - DELETE 

  • 리소스 제거하는 메소드 (Delete) 
  • 상태코드는 대부분 200을 사용하고 상황에 따라 204를 사용한다.

Content-Type 헤더 종류 

Content-Type: application/x-www-form-urlencoded 

  • Form의 내용을 HTTP 메시지 바디를 통해서 전송(key=value, 쿼리 파라미터 형식) 
  • 전송 데이터를 url encoding 처리 
    ex) abc가 → abc%EA%B9%80 

Content-Type: multipart/form-data 

  • 파일 업로드 같은 바이너리 데이터 전송 시 사용 
  • 다른 종류의 여러 파일과 Form의 내용 함께 전송 가능. 그래서 이름이 multipart 이다.

Content-Type: application/json

  • TEXT, XML, JSON 데이터 전송 시 사용