본문 바로가기

애플리케이션 보안 - HTTP 요청 메소드

액트 2019. 8. 22.
반응형

애플리케이션 보안 - HTTP 요청 메소드


1. HTTP 프로토콜에서 요청 메세지 방법의 종류

  ㅇ 클라이언트가 웹서버에게 사용자 요청의 목적/종류를 알리는 수단

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

2. 요청 방법 종류

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

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

        . 캐싱에 중요한 HTTP 헤더 정보 : Last-Modified, eTag 등

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

  ㅇ POST    : 내용 전송 (파일 전송 가능)
     - 클라이언트에서 서버로 어떤 정보를 제출함
        . 요청 데이터를 HTTP 바디에 담아 웹서버로 전송함
     - 만일, 리소스가 새로이 작성되면, 서버측은 HTTP 헤더 항목 중 `Location:`에다가
        . 새로이 작성된 리소스에 대한 URI 주소 정보를 포함시켜 응답하게 됨

  ㅇ 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)로써 프록시 서버에게,
           .. 원하는 웹서버와의 중계 연결 요청을 함


 

[출처] 

반응형

댓글