[Network] REST란? REST API란? RESTful이란? - Heee's Development Blog (gmlwjd9405.github.io)
[네트워크] REST API와 HTTP 메소드정리 — 유리코딩 (tistory.com)
ex)
1
엑셀 다운로드 요청에서 http 메서드를 "GET"하는 이유는 무엇입니까?
엑셀 다운로드 요청에서 HTTP 메서드 GET는 일반적으로 서버에서 리소스(예: 파일)를 검색하는 데 사용됩니다.
일반적으로 "GET"가 파일 다운로드에 사용되는 이유는 안전하고 identiment HTTP 메서드이기 때문입니다. 즉, "GET" 메서드는 서버의 리소스를 수정하지 않고 리소스 상태를 변경하지 않고 여러 번 반복할 수 있는 작업에 사용됩니다.
클라이언트가 Excel 파일에 대해 "GET" 요청을 보낼 때 서버는 서버의 리소스 상태를 변경하지 않고 요청된 파일로 응답합니다. 클라이언트가 파일이나 서버의 리소스를 수정하지 않고 파일을 검색할 수 있기 때문에 "GET"는 파일 다운로드에 적합한 방법입니다.
반면, "POST", "PUT" 및 "Delete"와 같은 다른 HTTP 메서드는 서버의 리소스를 수정하는 작업에 사용됩니다. 이러한 방법은 파일 또는 서버의 리소스를 수정할 수 있으므로 파일 다운로드에 적합하지 않을 수 있습니다.
요약하자면, GET는 클라이언트가 파일이나 서버의 리소스를 수정하지 않고 서버에서 파일을 검색할 수 있도록 하는 안전하고 강력한 HTTP 방법이기 때문에 엑셀 다운로드 요청에 일반적으로 사용된다.
2
조회요청은 "GET"인데 "POST"를 쓰는 이유가 뭔가요?
"REST API"에서 조회 요청을 보낼 때, "GET" 메소드를 사용하는 것이 일반적입니다. 그러나 "POST" 메소드를 사용하는 경우가 있는데, 이는 몇 가지 이유 때문입니다.
첫째, "GET" 메소드는 URL 파라미터를 사용하여 요청을 전달하는데, URL에 파라미터가 노출될 수 있습니다. 이는 보안 문제를 야기할 수 있습니다. 따라서, 민감한 데이터를 처리하는 경우에는 "POST" 메소드를 사용하여 데이터를 요청 본문(Request Body)에 담아 전달하는 것이 안전합니다.
둘째, "GET" 메소드는 전송 가능한 데이터 크기에 제한이 있습니다. 대부분의 브라우저에서는 약 2,000자 정도의 데이터까지만 URL에 포함할 수 있습니다. 만약 많은 양의 데이터를 전송해야 하는 경우 "POST" 메소드를 사용하여 요청 본문에 데이터를 담아 전달하는 것이 적합합니다.
셋째, "GET" 메소드는 캐시가 가능합니다. "GET" 요청을 보낼 때 서버에서 반환한 응답이 클라이언트나 프록시 서버의 캐시에 저장되어 다음 요청 시에는 서버에 재요청하지 않을 수 있습니다. 이는 반복적인 요청을 처리하는 경우에 유용합니다. 반면에 "POST" 메소드는 요청이 캐시될 수 없기 때문에 반복적인 요청에는 적합하지 않습니다.
따라서, 조회 요청에서 "POST" 메소드를 사용하는 것은 보안, 데이터 크기, 캐시 등 다양한 요소를 고려하여 결정되어야 합니다.
'programming study > CS-WEB' 카테고리의 다른 글
CORS와 쿠키(Same-Site, Secure, httpOnly), CSRF와 XSS (0) | 2023.02.27 |
---|---|
OSI 7계층 (0) | 2023.01.13 |
OAuth2.0 (0) | 2022.12.30 |
HTTP 웹 기초 (0) | 2022.11.16 |