4.1 HTTP 메소드 목록
HTTP 요청의 첫 번째 단어는 메서드 이름 입니다 . Java에서 메소드를 호출하는 것과 약간의 유사성도 있습니다. HTTP 요청의 메서드는 리소스에서 수행할 기본 작업을 정의합니다.
어떤 종류의 자원? 문제는 World Wide Web이 시작될 때 서버가 각각 HTML 파일을 저장하기 만하면 요청이 그러한 파일에 대한 것이었고 리소스 / 파일로 수행해야하는 몇 가지 작업을 설명했다는 것입니다.
HTTP 표준은 다음 메서드를 지정합니다.
# | 방법 | 설명 |
---|---|---|
1 | 얻다 | 지정된 리소스의 콘텐츠를 쿼리하는 데 사용됩니다 . |
2 | 우편 | 클라이언트에서 서버로 데이터를 전송하는 데 사용됩니다. 서버의 리소스 상태를 변경합니다 . |
삼 | 놓다 | 클라이언트에서 서버로 데이터를 전송하는 데 사용됩니다. 서버에 새 리소스를 만듭니다 . |
4 | 삭제 | 서버에서 지정된 리소스를 삭제합니다 . |
5 | 머리 | GET과 유사하지만 응답 본문이 없습니다. 응답 헤더를 가져오는 데 필요 |
6 | 옵션 | 지정된 리소스에 대해 지원되는 메서드 목록을 서버에 요청합니다. |
7 | 추적하다 | 서비스 방법. 요청이 통과하는 서버에 의해 요청이 변경되고 있는지 확인할 수 있습니다. |
8 | 연결하다 | 서비스 방법. 보안 연결을 설정하는 데 사용됩니다. |
4.2 GET 방식
GET 메서드는 가장 널리 사용되는 HTTP 메서드입니다. 다음 페이지에 대한 요청을 서버에 보낼 때 브라우저가 호출하는 것입니다.
예를 들어 브라우저에서 http://codegym.cc/path/resource?param1=value1¶m2=value2 링크를 따라가면 브라우저는 이 시작 줄로 시작하는 CodeGym 서버에 HTTP 요청을 보냅니다 .
GET /path/resource?param1=value1¶m2=value2 HTTP/1.1
결과적으로 서버는 요청 상태를 기록하고 요청된 리소스도 보낼 브라우저에 HTTP 응답을 보내야 합니다.
GET 메서드를 여러 번 호출해도 서버의 상태가 변경되지 않으며 서버는 매번 동일한 응답을 반환해야 한다고 가정합니다 . 따라서 프로토콜은 개체 캐싱에 대해 까다로운 제어가 있습니다.
첫째, GET 요청을 사용하여 받은 리소스는 브라우저가 재량에 따라 캐시할 수 있습니다(뉘앙스가 있음).
둘째, 서버에 요청을 보낼 때 특수 헤더 If-Modified-Since
와 date
. 요청한 리소스/문서가 지정된 날짜 이후에 변경된 경우 서버에서 이를 보냅니다. 변경하지 않으면 리소스 본문이 전달되지 않습니다. 클라이언트에 캐시되어 있다고 가정합니다.
페이지 캐싱(GET 요청)은 항상 사용되므로 이 문제를 확인하는 것이 좋습니다.
4.3 POST 및 PUT 방법
POST 메서드는 서버의 리소스를 업데이트하는 데 사용됩니다. 예를 들어 이미지를 서버에 업로드하면 브라우저에서 POST 요청을 보냅니다.
이 시작 줄로 시작하는 HTTP 요청을 고려하십시오.
POST /path/resource?param1=value1¶m2=value2 HTTP/1.1
headers…
<request body>
결과적으로 서버는 요청 상태를 기록하고 수정된 리소스도 보낼 브라우저에 HTTP 응답을 보내야 합니다. POST 메서드를 여러 번 호출하면 서버의 상태가 변경되고 서버는 매번 다른 응답을 반환할 수 있습니다 .
GET 및 POST는 웹에서 가장 일반적인 두 가지 요청입니다. 방법이 어떻게 작동하는지 쉽게 기억할 수 있도록 다음 표를 고려하십시오.
얻다 | 우편 | 놓다 | |
---|---|---|---|
요구 | URL만 | URL 및 요청 본문 | URL 및 요청 본문 |
답변 | 응답 코드 및 본문 | 응답 코드 및 본문 | 응답 코드 |
링크에서 POST 요청에 대한 자세한 내용을 읽을 수 있습니다 .
4.4 삭제 방법
마지막으로 DELETE 메서드 에 대한 정보입니다 . 여기에서는 모든 것이 간단합니다.
예를 들어 서버에서 특정 리소스를 삭제하려고 합니다. 우리는 그에게 다음과 같은 요청을 보냅니다.
DELETE /path/resource?param1=value1¶m2=value2 HTTP/1.1
이 요청을 받으면 서버는 지정된 리소스를 삭제합니다. 물론 삭제할 권한이 없다면 말입니다.
GO TO FULL VERSION