Basic Web Servie
HTTPS / Method
Hot Dobby
2020. 9. 24. 14:18
GET
- 클라이언트에서 서버로 리소스를 요청할 때 사용합니다. fetch를 사용한다면 아래와 같이.
var requestOptions = {
method: 'GET',
redirect: 'follow' //헤더의 redirect 프로퍼티는 응답을 허용한다는 뜻 (HTTP status code = 301,302,303,307,308)
};
fetch("example.com", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
POST
- 클라이언트에서 서버로 새로운 리소스를 생성할 때 사용합니다. fetch를 사용한다면 아래와 같이
var requestOptions = {
method: 'POST',
redirect: 'follow'
};
fetch("example.com?kiwi=juice", requestOptions) //{kiwi:juice}를 보내려고 하는 중
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
3. PUT
- 클라이언트가 서버의 리소스를 수정 할 때 사용 ( CRUD에서 Update : 전체 수정 )
4. PATCH
- 클라이언트가 서버의 리소스를 수정 할 때 사용 ( CRUD에서 Update : 일부 수정 )
5. DELETE
- 클라이언트가 서버의 리소스를 삭제 할 때 사용 ( CRUD에서 Delete )
6. HEAD
- 클라이언트가 서버의 정상 작동 여부를 확인 할 때 사용
7. OPTIONS
- 클라이언트가 서버에서 해당 URL이 어떤 메소드를 지원하는지 확인 할 때 사용
8. CONNECT
- 클라이언트가 프록시를 통하여 서버와 SSL 통신을 하고자 할 때 사용
9. TRACE
- 클라이언트와 서버간 통신 관리 및 디버깅을 할 때 사용
1. GET
- 캐싱이 가능하다.
- 북마크가 가능하다.
- 브라우저에 기록이 남는다.
- URL에 Query String형식으로 데이터를 전송하기 때문에 보안에 취약하다.
- URL의 최대 길이가 있다. ( 각 브라우저, 각 서버 별 다르다 )
- 초과된 데이터는 절단되어 보내진다.
- 멱등하다. ( 같은 요청이면 반환되는 모든 응답은 동일해야 한다. )
2. POST
- 캐싱이 불가능하다.
- 브라우저에 기록이 남지 않는다.
- 북마크가 불가능하다.
- 데이터 길이의 제한이 없다.
- 멱등하지 않다. ( 같은 요청이라도 응답이 각각 다르다. )
3. PUT
- 캐싱이 불가능하다.
- 멱등하다. ( 같은 요청이면 반환되는 모든 응답은 동일해야 한다. )
4. PATCH
- 캐싱이 가능하다.
- 멱등하지 않다. ( 같은 요청이라도 응답이 각각 다르다. )
5. DELETE
- 캐싱이 불가능하다.
- 멱등하지 않다. ( 같은 요청이라도 응답이 각각 다르다. )