REST API 보안 및 인증 방식 | 개발자 이동욱
REST API 보안 보안에 관해서는 백번, 천번을 강조해도 과함이 없다. 근래의 대부분의 서비스 시스템들은 API를 기반으로 통신한다. 앱과 서버 간의 통신 또는 자바 스크립트 웹 클라이언트와 서버
dongwooklee96.github.io
REST의 representation이란 무엇인가
사실 서버가 보내준 것은 리소스가 아니다. 다음과 같은 HTTP GET 요청을 서버에 보내서 GET Host: example.org Accept: text/plain, text/html; q=0.9 *; q=0.1 Accept-Language: en, ko; q=0.9, *; q=0.1 “hello”라는 메시지를
blog.npcode.com
REST API의 이해와 설계-#1 개념 소개
REST API의 이해와 설계#1-개념 소개 REST는 웹의 창시자(HTTP) 중의 한 사람인 Roy Fielding의 2000년 논문에 의해서 소개되었다. 현재의 아키텍쳐가 웹의 본래 설계의 우수성을 많이 사용하지 못하고 있
bcho.tistory.com
[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 |