HTTP/3는 인터넷 상에서 데이터를 전송하기 위해 사용되는 프로토콜 중 하나입니다. 이전에 사용되던 HTTP/1.1과 HTTP/2의 후속 버전으로, 성능과 보안 측면에서 개선되었습니다. HTTP/3는 UDP(User Datagram Protocol)를 기반으로 동작하는 QUIC(Quick UDP Internet Connections) 프로토콜을 사용합니다. UDP는 기존의 TCP(Transmission Control Protocol)보다 더 경량화되어 있으며, 연결 설정이 필요하지 않고 패킷 손실에 대한 복구 기능도 제공합니다. 이를 통해 HTTP/3는 기존의 TCP를 사용하는 HTTP/1.1과 HTTP/2보다 더 빠른 연결 설정과 전송 속도를 제공할 수 있습니다. 또한, HTTP/3는 보안 측면에서도..
AWS API Gateway에서 API Key를 활성화하여 서비스를 제공할 경우에는 사용자는 API키 정보를 필수로 탑재하여 사용을 해야 한다. 키 값이 일치할 경우에는 사전에 설정한 할당량과 속도에 맞게 서비스되고 그렇지 않은 경우 InvalidKeyParameter 예외가 발생한다. 아래와 같은 방식으로 구현하여 사용할 수 있다. 1. 사용자가 HEADER값에 API KEY값을 입력하여 요청. (사용자에게 API KEY값을 공유하여 사용한다.) : 사용자는 REST API 요청시 X-API-Key 헤더로서 API KEY를 함께 전달한다. (단, 이와 같이 사용하면 API KEY값이 도난당할 수 있으므로 보안에 위험이 있다.) 2. 권한 부여자가 제공한 API KEY를 사용하기. 사용자가 Token값과..
API Gateway에서 리소스 및 메소드별 엑세스 제어하는 방법에는 여러가지 방법이 있다. (AWS의 서비스들은 항상 최종의 솔루션을 제공하지 않는다. 다양한 수단과 방법만 제공하고 최종 결정은 사용자의 몫으로 남겨둔다.) 1. 리소스 정책 사용 - 특정 IAM 권한이나 역할을 부여 받은 사용자가 리소스별 API 호출 여부를 제어하기 위해 사용된다. - 리소스 정책은 JSON 정책 문서를 작성하여 API에 연결하여 사용한다. - 리소스 정책은 아래와 같이 크게 3가지 형태로 제공된다. 1> 지정된 AWS 계정의 사용자 2> 지정된 원본 IP 주소 범위 또는 CIDR(사이더) 블록 3> 지정된 가상 사설 클라우드 (VPC) 또는 VPC 엔드포인트(계정 무관) *[참고 CIDR : https://ko.wi..
Android에서 많이 사용하고 있는 OkHttp에 대해 알아보자. OkHttp는 Square에서 제공하는 오픈소스 프로젝트이며 동기, 비동기 방식을 각각 제공해줌으로서 개발자가 선택하여 사용할 수 있다. [GET 동기]public void get(String requestURL) { try { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .addHeader("x-api-key", RestTestCommon.API_KEY) .url(requestURL) .build(); //GET Request //동기 처리시 execute함수 사용 Response response = client.newCall(requ..
이번 페이지에서는 HttpURLConnection을 이용해 REST API를 호출하는 방법을 알아보자. [GET]public void get(String strUrl) { try { URL url = new URL(strUrl); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setConnectTimeout(5000); //서버에 연결되는 Timeout 시간 설정 con.setReadTimeout(5000); // InputStream 읽어 오는 Timeout 시간 설정 con.addRequestProperty("x-api-key", RestTestCommon.API_KEY); //key값 설정 con.setRequestMet..
1. 인증 - API 서비스를 사용하고자 하는 대상자가 서비스 사용이 가능한지 여부를 확인하는 것을 의미한다. (일반적인 웹서비스에 로그인과 동일한 기능이다.) 1-1. API Key 가장 기초적인 방법으로 서비스 제공자가 발급해준 KEY를 통해 인증을 하는 방식이다. - API Key는 특정 사용자만 알 수 있는 일종의 문자열로 되어 있다. (예:aASDFasdf87AS5D4F2asddf234SDF234) - API Key는 API 서비스 제공자가 제공하고 사용자는 API Key 정보를 메시지 안에 포함하여 호출한다. - API Key는 한번 노출되면 전체 API가 뚫리는 문제가 발생할 수 있기 때문에 높은 보안 인증이 필요한 상황에는 적합하지 않는 방법이다. 1-2. API Token Token을 활..
REST API 디자인 가이드 REST API를 어떻게 디자인 하는지 알아보고 좋은 REST API를 사용자들에게 제공할 수 있도록 해보자. 1. REST는 간략하고 직관적이게 디자인하자. - REST API는 URL만 보고 URL이 의미하는 바를 알 수 있어야 한다. - REST API는 길게 만들기 보다 짧게 만들어 제공하자. (최대 2 Depth를 권장 한다.) - URL은 될 수 있으면 명사를 사용하자. (URL 작성되는 내용은 리소스 정보를 다루고 있기 때문에 동사보다는 명사가 더욱 어울린다. 단, 명사를 사용하게 되면 단수 보다는 복수형을 사용하자. 의미상 복수형이 더욱 어울리는 표현이기 때문이다.) [잘못된 예 : HTTP Post로 모두 정의하고 get/set을 URL에 명시함으로서 행위를..
2. REST의 특성 : 위에서 REST의 기본적인 개념과 구성에 대해서 알아보았다면 REST가 가지고 있는 특성을 알아보자. 특성을 알아야 더욱 좋은 API를 설계할 수 있으며 더 좋은 개발 산출물을 만들 수 있을 것이다. 1> Uniform Interface REST는 HTTP 표준을 지원한다면 그외 어떠한 기술, 언어, OS 등..에 대한 제약을 받지 않는 인터페이스 스타일이다. 예를 들어 HTTP + JSON형식으로 REST를 정의 하였다면 개발자가 C++, Python과 같은 언어와 상관없이 해당 개발이 가능하며 iOS, Android, Window, Linux 할 것 없이 어디서든지 사용이 가능하다는 뜻이다. 이와 같은 특성으로 REST API를 사용할 경우 서비스간에 느슨한 결합 형태로 구성..
REST(Representational State Transfer)는 HTTP 주요 저자중 한명인 Roy Fielding의 2000년 박사학위 논문에서 소개 되었다. Roy Fielding은 당시 아키텍쳐가 웹(HTTP)의 장점을 충분히 담아내지 못한다고 생각하였다고 한다. 그래서 직접 웹(HTTP)의 장점을 최대한 활용한 네트워크 기반의 아키텍처를 소개했는데 이것이 바로 REST인 것이다. * 네트워크 기반의 아키텍처 : 자원을 정의하고 자원에 대한 주소를 지정하는 방법의 전반을 일컫는다. 1. REST 이해하기 - REST는 자원(Resource)/행위(Method)/메시지 총 세가지로 구성되어 있다. - 아래 예제를 위에서 언급한 세가지 요소로 살펴보자. 아래 REST를 한문장으로 표현하면 "150..
- Total
- Today
- Yesterday
- 소프트웨어교육
- 교육
- 인공지능
- ai
- 머신러닝
- 딥러닝
- llm
- Java
- rest api
- HttpClient
- Rest
- HTTP
- tensorflow
- 프로그램
- SW
- AWS
- okhttp
- 데이터플랫폼
- Spring
- java8
- http client
- 데이터파이프라인
- 빅데이터
- API
- 데이터플랫폼설계
- 소프트웨어
- mlops
- it
- 자바
- 텐서플로우
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |