👨💻오늘 공부한 것
멀티태스킹이란
: 운영체제가 여러개의 프로세스를 함께 돌리는 것
컴퓨터는 프로세스마다 자원을 분할해서 할당한다.
concurrency(동시성)과 Parallelism(병행)과 같은 방식이 있는데,
concurrency(동시성)은 하나의 프로세서로 프로세스를 조금씩 하고 옮겨다니며 작업을 한다 그래서 동시에 작업을 하는 것처럼 보이는 방식이고,
Parallelism(병행)은 하나의 프로세서에 코어가 여러개있어서 프로세스를 한꺼번에 처리하는 방식이다.
크롬을 예시로 들면 여러탭에서 동시다발적으로 여러작업들이 처리되어야한다. 한 작업이 처리되길 기다리는 도중에 아무것도 하지 못한다면 비효율적일 것이다. 그래서 크롬같은 경우 한 브라우저에 여러 탭을 띄어놓고 여러작업을 할 수 있다. 이때에 크롬이란 프로세스를 작업하고 프로세스안에 여러 스레드를 작업하는 것이다.
아직까지는 프로세스와 스레드를 고려하여 코드를 작성할 일이 없어서 깊고 정확하게 이해하진 못했지만 나중에 더 깊게 공부해보려고 한다.
크롬과 같은 웹브라우저에선 출처가 다른 페이지에서 AJAX요청, API요청등 출처가 다른 서버에 요청하는 것을 막는다. 그 이유는 출처가 다른 서버에서 무분별하게 요청해서 받아왔을때 js파일의 코드에 만약 악성코드가 있을 경우 개인정보나 다른 안좋은 상황이 발생될 수 있기 때문에 검증되지 않은, 즉 크롬에서는 이를 출처가 다른으로 의미한다.
다시 검증되지 않은, 즉 출처가 다른, CORS가 허락되지 않은 웹페이지에게 요청을 할 수 없다는 것이다.
출처가 다른 페이지에서 요청을 못하도록 막는 것은 SOP(Same-Origin Policy), 동일 출처 정책 이라는 것이다.
그렇다면 다시말해 CORS는 출처가 다른 페이지로 요청함을 허락해주는 것이다.
그래서 웹서버를 구축할때 CORS옵션을 넣어서 요청할 페이지를 미리 명시해줘야한다. *
나 와일드카드
같은 것으로.