GET
- GET 메소드는 주로 데이터를 읽거나(Read) 검색(Retrieve) 할 때 사용되는 메소드이다.
- GET 요청이 성공적이면 XML 이나 JSON 과 함꼐 200(Ok) HTTP 응답 코드를 리턴하고 주로 404(Not found) 나 400(Bad request) 에러가 발생한다.
- HTTP 명세에 의하면 GET 요쳥은 오로지 데이터를 읽을 때만 사용하고 수정할 때는 사용하지 않으므로 데이터 변형의 위험이 없는 사용이 가능하다.
- GET 은 같은 요청을 여러 번 하더라도 항상 같은 응답을 받기 때문에 데이터를 변경하는 것과 같은 연산에는 사용할 수 없다.
POST
- POST 메소드는 주로 새로운 리소스를 생성(Create) 할 때 사용되는 메소드이다.
- POST 요청이 성공적이면 201(Created) HTTP 응답을 반환한다.
- POST 요청은 같은 요청을 여러 번 보내도 항상 같은 응답을 보장하지 않아서 안전하다고 할 수 없다.
- 두 개의 같은 POST 요청을 보내면 같은 정보를 담은 두 개의 다른 리소스를 반환할 가능성이 높다.
GET 과 POST
- POST 요청은 클라이언트에서 서버로 전송할 때 추가적인 데이터를 body 태그 안에 포함할 수 있지만 GET 요청은 필요한 모든 데이터를 URL 에 포함하여 요청한다.
- HTML 의 <form> 태그에서는 method="POST" 와 method="GET"(기본값) 을 모두 사용할 수 있다.
- GET 메소드의 모든 form data 는 URL 로 인코딩되어 action URL 에 query string paraneters 로 전달된다.
- POST 메소드의 경우 form data 는 HTTP request 의 message body 에 나타나게 된다.
'CS 지식' 카테고리의 다른 글
Blocking 과 Non-Blocking (0) | 2022.11.26 |
---|---|
TLS(SSL) HandShake (0) | 2022.11.15 |
HTTP 와 HTTPS (0) | 2022.11.12 |
대칭키와 공개키 (0) | 2022.11.10 |
TCP와 UDP의 특징과 차이 (0) | 2022.11.04 |