-
[HTTP 기본] HTTP 메소드기타 2022. 2. 17. 18:33반응형
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다.
틀리거나 잘못된 정보가 있을 수 있습니다.
댓글로 알려주시면 수정하도록 하겠습니다.
1. 리퀘스트 메시지
HTTP 메소드를 설명하기 앞서 리퀘스트 메시지 구성을 먼저 살펴보도록 하겠습니다.
리퀘스트 메시지는 리퀘스트 라인, 헤더 필드, 메시지 바디로 구성되어 있습니다.
리퀘스트 라인은 메소드, URI, HTTP 버전으로 구성되어 있습니다.
- 메소드는 리소스에 대해 어떤 행동을 원하는지를 지시하기 위해서 사용됩니다.
- URI는 인터넷에 존재하는 리소스들 중 특정 리소스를 지정하기 위해서 사용됩니다.
- HTTP 버전은 현재 사용되는 HTTP버전을 명시하는 용도로 사용됩니다.
헤더 필드는 여러 조건과 속성 등을 나타내며 서버와 클라이언트의 요청과 응답에 부가적인 정보를 담아 전달하는 용도로 사용됩니다.
클라이언트의 메시지 바디의 경우 서버로 전달되어야 하는 데이터를 담아 전달하는 용도로 사용되며 서버의 메시지 바디의 경우는 요청에 대한 응답 결과를 담아 전달하는 용도로 사용됩니다.
2. HTTP 메소드
위의 총 8가지의 메소드가 HTTP 1.1 버전에서 지원이 되는 메소드입니다.
- GET
URI로 특정된 리소스를 가져오는 용도로 사용되는 메소드입니다.
리소스가 텍스트인 경우는 텍스트 문서를 반환하며 실행 프로그램인 경우는 실행한 결과를 반환합니다. - POST
엔티티를 전송하는 용도로 사용되는 메소드입니다.
GET 또한 URI를 통해 엔티티를 전송할 수 있지만 이 경우 엔티티 값들이 URI에 노출되므로 보안 측면에서 취약한 부분이 있습니다.
반면 POST의 경우는 엔티티 바디에 값들을 담아 전달하므로 보안 측면에서 GET보다 안전합니다. - PUT
파일을 전송하기 위한 용도로 사용됩니다.
리퀘스트 URI로 지정한 곳에 파일을 저장하고 보관하도록 요청합니다.
파일을 저장하는 용도로 사용하기에는 PUT에 부가적인 인증 기능이 없어 파일 전송 용도로 사용은 드물며 REST방식으로 설계하여 엔티티의 수정 용도로 사용됩니다. - DELETE
파일을 제거하기 위한 용도로 사용됩니다.
PUT과 동일하게 리퀘스트 URI로 지정한 곳에 파일을 제거하도록 요청합니다.
DELETE 또한 파일을 제거하는 용도로 사용하기에는 인증 기능이 없어 파일 제거 용도로 사용은 드물며 REST방식으로 설계하여 엔티티 제거용 도로 사용됩니다. - HEAD
GET과 동일한 기능이지만 메시지 바디가 필요하지 않은 경우 사용됩니다.
즉 URI 유효성 검사나 리소스 갱신 시간 등 여러 정보들을 확인하는 용도로 사용됩니다. - OPTIONS
요청하고자 하는 URI가 지원하는 메소드를 요청하는 용도로 사용됩니다. - TRACE
요청을 전달하였을 때 경유한 프락시 등 경유 서버에 대해 확인하는 용도로 사용됩니다.
TRACE 메소드의 경우 XST와 같은 보안상의 문제가 있어 사용되고 있지 않습니다. - CONNECT
프락시에 터널 접속 확립을 요청하는 용도 록 사용됩니다.
주로 SSL 또는 TLS 등의 프로토콜로 암호화된 것을 터널링 시키기 위해 사용됩니다.
반응형'기타' 카테고리의 다른 글
[HTTP 기본] HTTP 상태 코드 (0) 2022.02.22 [HTTP 기본] HTTP 메시지 (0) 2022.02.22 [HTTP 기본] 간결한 HTTP 프로토콜 (0) 2022.02.17 [HTTP 기본] TCP/IP 4계층 (0) 2022.02.16 [HTTP 기본] Web 그리고 Network (0) 2022.02.15