9가지 : GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE, CONNECT, (SEARCH)
HTTP 메소드는 클라이언트가 웹 서버에게 사용자 요청의 목적이나 종류를 알리는 수단 이다. 최초의 HTTP에서는 GET 메소드 하나밖에 없었지만 이후 다양한 메소드들이 생겨났다.
- GET 설명
: GET 요청 방식은 URI(URL)가 가진 정보를 검색하기 위해 서버 측에 요청하는 형태이다- 전송형태
- GET [request-uri]?query_string
- HTTP/1.1\r\n
- Host:[Hostname] 혹은 [IP] \r\n
- 전송형태
- POST 설명
: POST 요청 방식은 요청 URI(URL)에 폼 입력을 처리하기 위해 구성한 서버 측 스크립트(ASP, PHP, JSP 등) 혹은 CGI 프로그램으로 구성되고 Form Action과 함께 전송되는데, 이때 헤더 정보에 포함되지 않고 데이터 부분에 요청 정보가 들어가게 된다.- 전송형태
- POST [request-uri]?query_string
- HTTP/1.1\r\n
- HOST:[Hostname] 혹은 [IP] \r\n
- Content-Lenght:[Lenght in Bytes] \r\n \r\n [query-string] 혹은 [데이터]
- 전송형태
- HEAD 설명
: HEAD 요청 방식은 GET과 유사한 방식이나 웹 서버에서 헤더 정보 이외에는 어떤 데이터도 보내지 않는다.
웹 서버의 다운 여부 점검(Health Check)이나 웹 서버 정보(버전 등)등을 얻기 위해 사용될 수 있다.
- 전송형태
- HEAD [request-uri] HTTP/1.1\r\n
- Host:[Hostname] 혹은 [IP] \r\n
- 전송형태
- OPTIONS 설명
: 해당 메소드를 통해 시스템에서 지원되는 메소드 종류를 확인할 수 있다.- 전송형태
- OPTIONS [request-ri]
- HTTP/1.1\r\n
- Host:[Hostname] 혹은 [IP] \r\n
- 전송형태
- PUT 설명
: POST와 유사한 전송 구조를 가지기 때문에 헤더 이외에 메시지(데이터)가 함께 전송된다.
원격지 서버에 지정한 콘텐츠를 저장하기 위해 사용되며 홈페이지 변조에 많이 악용되고 있다.- 전송형태
- PUT [request-uri] HTTP/1.1\r\n
- Host:[Hostname] 혹은 [IP] \r\n
- Content-Lenght:[Length in Bytes] \r\n
- Content-Type:[Content Type] \r\n \r\n [데이터]
- 전송형태
- DELETE 설명
: 원격지 웹 서버에 파일을 삭제하기 위해 사용되며 PUT과는 반대 개념의 메소드이다.- 전송형태
- DELETE [request-uri] HTTP/1.1\r\n
- Host:[Hostname] 혹은 [IP] \r\n \r\n
- 전송형태
- TRACE 설명
원격지 서버에 Loopback(루프백) 메시지를 호출하기 위해 사용된다. 루프백 아이피란? IPv4 및 Ipv6에서 자기 자신을 가리키기 위한 목적으로 쓰기 위해 예약된 IP 주소
- 전송형태
- TRACE [request-uri] HTTP/1.1\r\n
- Host:[Hostname] 혹은 [IP] \r\n \r\n
- 전송형태
- CONNECT 설명
: 웹 서버에 프락시 기능을 요청할 때 사용된다- 전송형태
- CONNECT [request-uri] HTTP/1.1\r\n
- Host:[Hostname] 혹은 [IP] \r\n \r\n
- 전송형태
SEARCH 메소드
- IETF에 새 Draft로 추가된 SEARCH 메소드 소개
- 복잡한 데이터를 가져오기 위해선 기존 GET/POST 만으로는 비효율적
SEARCH /customers HTTP/1.1
Host: example.com
Content-Type: application/sql
SELECT username, email
WHERE DATEDIFF(DAY, GETDATE(), signup_date) > 7 - 실제로 SQL문장이 표준으로 사용되는 건 아니고, 리퀘스트 바디에 검색을 위한 이런 컨텐츠가 가능하다는 것
- 이를 통해서 한개의 URL에 대해서 GET,POST,SEARCH 가 모두 가능해짐
- Accept-Search 헤더를 통해서, 검색에 사용하는 포맷들을 지정 가능 :
ㅤ→ Accept-Search: application/sql, application/graphql
- WebDAV 에 있었던 SEARCH 메소드 표준에 기반 (rfc5323)
'Engineering WIKI > Docs' 카테고리의 다른 글
퍼사드 패턴 (Facade Pattern) 개념 및 코드 예제 (0) | 2022.12.30 |
---|---|
Redis 뿌수기! (0) | 2022.12.30 |
쿠키와 세션 그리고 JWT (0) | 2022.12.30 |
Jenkins (젠킨스) 요약 (0) | 2022.12.20 |
소프트웨어 개발 방법론 - 애자일(Agile) 방법론 (0) | 2022.12.18 |
IntelliJ Gradle import 시, 오류 해결 방법 : Unable to find method (2) | 2022.12.11 |
Intellij (No newline at end of file) (0) | 2022.12.11 |
Apache Tomcat(아파치 톰캣)_포트 변경하기 (0) | 2022.12.11 |