HTTP Request Method, HTTP Request Type   HTTP 요청 메소드, HTTP 요청 종류

(2024-02-06)

웹 메소드, HTTP Method, HTTP 메소드, HTTP 메서드, GET Method, GET 메소드, POST Method, POST 메소드


1. HTTP 프로토콜에서, 요청 메소드클라이언트웹서버에게 요청하는 목적 및 그 종류를 알리는 수단

  ※ 요청 메소드의 위치 : HTTP 요청 메세지의 첫째줄 첫째항
     - 例)  GET /dir/page.html HTTP/1.1


2. 요청 메소드의 종류

  ㅇ GET     : 리소스 취득
     - URL(URI) 형식으로 웹서버측 리소스(데이터)를 요청

     * 한편, Conditional GET 이란? (웹브라우저캐싱 기능에 도움을 줌)
        . 최초 리소스를 요청할 때는 요청만 하고,
        . 이후 요청 때는 첫 요청의 응답에 함께 온 HTTP 헤더 정보를 참고하여,
        . 변경사항이 있는지 물어보는 GET
        . 캐싱에 중요한 HTTP 헤더 정보 : Last-Modified, eTag 등

  ㅇ POST    : 내용 전송 (파일 전송도 가능)
     - 클라이언트에서 서버로 어떤 정보를 제출함
        . 요청 데이터HTTP 바디에 담아 웹서버전송함
     - 이때, 요청 데이터HTTP 헤더에 아래 처럼 설정함    ☞ HTTP 엔터티 헤더 항목, 폼 요소 참조
        . Content-Type:application/x-www-form-urlencoded
           .. 이는 해당 개체가 폼으로 전송하는 데이터 임을 알리는 HTTP 헤더 형식 임
     - 만일, 요청된 리소스가 새로이 작성된 또다른 것이라면,
        . 서버측은 HTTP 헤더 항목 중 `Location:`에다가
        . 새로이 작성된 리소스에 대한 URL 정보를 포함시켜 응답하게 됨

  ※ 한편, HTML Form 요소에서는, GET,POST 메소드 만 지원됨

  ㅇ HEAD    : 메세지 헤더(문서 정보) 취득
     - GET과 비슷하나, 실제 문서를 요청하는 것이 아니라, 문서 정보를 요청
        . 이에따라 HTTP 응답 메세지에 본문(Body)이 없이 HTTP 헤더 정보 만을 보냄

  ㅇ PUT     : 내용 갱신 위주 (파일 전송도 가능)
     - POST 처럼 정보서버로 제출하는 것으로 형식은 동일하나, 갱신 위주 임
        . 이에 의해 갱신된 리소스에 대한 주소 정보를, POST와는 달리
          서버측 응답메세지의 HTTP 헤더 항목 중에 `Location:`을 보내지 않아도 됨
        . 즉, 서버측은 클라이언트 측이 제시한 URI를 그대로 사용하는 것으로 간주함
     - PUT는 클라이언트측이 서버측 구현에 관여하는 것이므로, 
        . 통상 보다 세밀한 POST를 더 많이 씀

  ㅇ DELETE  : 파일 삭제
     -  리소스를 제거 

  ㅇ OPTIONS : 웹서버측 제공 메소드에 대한 질의
     - 가능한 메소드 옵션에 대한 질의
        . 이 경우 응답메세지에 HTTP 헤더 항목 중 `Allow: GET,POST,HEAD` 처럼 보내게 됨

  ㅇ TRACE   : (거의 사용 안함)
     - 요청 리소스가 수신되는 경로를 보여줌

  ㅇ CONNECT : (거의 사용 안함)
     - 프락시 서버와 같은 중간 서버 경유
        . 例) 웹브라우저는 `CONNECT www.original_server.com:80 HTTP/1.0` 뒤에,
           .. 일련의 HTTP 헤더 항목들과 빈 줄(CRLF)로써, 프록시 서버에게,
           .. 원하는 웹서버와의 중계 연결 요청을 함

  ※ 한편, 보안상의 이유로, 
     - 대부분의 웹서버가, GET,POST 2개 또는 OPTIONS 포함 3개 만을 허용하는 경우가 일반적임

웹 프로토콜 (HTTP)
   1. HTTP   2. HTTP 메세지   3. HTTP 메소드   4. HTTP 상태코드   5. 프록시   6. 프록시 보안   7. HTTP 캐시   8. 쿠키   9. HTTPS   10. HTTP 표준  


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"