게시글
질문&답변
Cross Origin 관련 질문 있습니다.
여기서 질문자님께서 오해하고 계신 것이 정적 웹사이트가 S3 버킷으로 구현되었을거라고 생각하고 있다는 것입니다. 설명에서 예를 들은 https://a.com은 s3 버킷이 아니라 AWS와는 별개로 구현된 웹서버라고 생각해보세요. 즉 브라우저가 S3 버킷이 아닌 다른 웹서버에서 HTML 문서와 Javascript 코드를 로딩하여 실행하고 있고, 브라우저의 자바스크립트 코드가 S3 버킷의 어떤 데이터를 HTTP로 요청해서 다운로드해가는 상황입니다. 정적 웹사이트 기반의 애플리케이션은 React, Vue와 같은 프론트엔드 프레임워크로 개발된 HTML과 javascript 코드만으로 이루어진 애플리케이션입니다. 이런 앱은 브라우저에서 https://a.com과 같은 주소로 요청해 HTML과 Javascript 코드를 받아옵니다. HTML과 Javascript 코드를 받아온 브라우저는 자동으로 오리진이 "https://a.com"으로 설정됩니다. 오리진은 HTML 문서를 받아온 원천지를 의미합니다.이 상태에서 HTML 문서를 통해 로딩된 Javascript 코드가 다른 오리진의 json 데이터 등(예: s3 버킷 상에 있는 json 데이터)을 http 통신으로 데이터를 요청하여 수신하는 상황이 Cross Origin 상황입니다.기본적으로 브라우저내에는 SOP(Same Origin Policy)라는 보안 정책이 설정되어 있는데, 이 정책의 내용은 "브라우저 자신의 오리진과 다른 오리진과의 통신을 허용하지 않는다"라는 것입니다. 대신 CORS(Cross Origin Resource Sharing)라는 기법으로 브라우저가 통신하는 다른 오리진의 서버라 할지라도 통신이 가능하도록 데이터를 제공하는 서버측에서 "Access-Control-Allow-Orogin" 이라는 HTTP 헤더를 이용해 통신이 가능하도록 설정할 수 있는데, 이것은 정적 웹사이트를 호스팅하고 있는 서버가 아닌 데이터를 제공하는 서버(영상 속 설명에서는 S3 버킷)에서 설정되어야 합니다.오리진은 요청 URL의 가장 앞에서 포트번호까지의 문자열입니다.https://a.com:8080/abc/def 와 같이 요청했다면 "https://a.com:8080" 이 오리진이 됩니다. 자바스크립트로 HTTP 요청을 통해 데이터를 받아가려는 서버의 주소 중 오리진이 브라우저의 오리진 문자열과 단 한 글자라도 다르면 Cross Origin 상황이 됩니다. 즉 프로토콜, 호스트, 포트 번호 중 하나라도 다르면 다른 오리진입니다.
- 0
- 2
- 170
질문&답변
연습문제 2차 24번 문제 질문입니다
질문에 대한 답변으로 완료 처리 부탁드립니다. 질문이 계속 미확인상태로 되어 있어서요..
- 0
- 3
- 230
질문&답변
연습문제 2차 24번 문제 질문입니다
일단 IOPS 때문에 C,D는소거가 되어야 합니다.프로비저닝된 IOPS EBS는 높은 IOPS를 지원하긴 하지만 관리형 서비스(서버리스) 기능이 EBS에는 없고요. 가장 중요한 포인트는 여러 인스턴스가 공유한다는 점입니다. EBS는 기본적으로 여러 인스턴스에서 공유할 수 있도록 설계되어 있지 않습니다. 그래서 여러 인스턴스가 하나의 EBS로 접속하면 IOPS가 제대로 보장되지 못합니다. 그런 이유로 B가 답입니다.EFS는 관리형 서비스로써 특히 워크로드와 부하에 따라 성능과 용량이 탄력적으로 확장됩니다. 이와 같은 기능이 EBS에는 없습니다. 그래서 프로비저닝된 IOPS를 지원하는 EBS가 아니기 때문만으로 A가 소거된 것은 아닙니다. "여러 인스턴스 공유" 라는 측면, "관리형 서비스"라는 측면까지 고려해야 합니다. EBS는 관리형 서비스가 아닙니다.
- 0
- 3
- 230
질문&답변
핵심정리 pdf 에 있는 '문제 유형 확인' 에 대한 답은 따로 없는걸까요?
다음 링크를 확인해보세요.https://github.com/stepanowon/AWS-SAA-Summary/blob/main/README.md
- 1
- 2
- 326