반응형

7

[운영체제] 스레드, 쓰레드란?

스레드란 프로그램 실행의 단위 중 하나로, 프로세스(Process) 내에서 실행되는 실행 흐름 중 하나입니다. 프로세스는 실행 중인 프로그램을 나타내며, 하나의 프로세스는 여러 개의 쓰레드를 가질 수 있습니다. 각각의 쓰레드는 독립적인 실행 흐름을 가지며, 서로 다른 코드를 실행할 수 있습니다. 쓰레드는 다른 쓰레드와 동시에 실행될 수 있으며, 이를 멀티쓰레딩(Multithreading)이라고 합니다. 멀티쓰레딩은 여러 작업을 동시에 처리하는데 효과적입니다. 대표적인 멀티쓰레딩을 구현한 프로그램으로 톰캣과 같은 웹 어플리케이션 서버(WAS)가 있습니다. 스프링 프레임워크의 동작 방식 [Spring] 스프링 프레임워크의 동작 방식 서블릿(Servlet) 컨테이너 서블릿 컨테이너는 클라이언트의 요청을 받으면..

정보처리기사 2023.04.24

[Spring] 스프링 프레임워크의 동작 방식

서블릿(Servlet) 컨테이너 서블릿 컨테이너는 클라이언트의 요청을 받으면 스레드를 생성하여 서블릿을 실행합니다. 실행된 서블릿이 서버의 응답을 받아서 컨테이너에게 돌려주면, 이를 클라이언트에게 반환하는 역할을 합니다. 즉, 요청마다 새로운 스레드를 생성하여 서블릿을 실행하는 것입니다. 또한 서블릿의 멀티스레드 처리를 위해 동기화를 제공하고, 메모리 누수를 방지하기 위한 가비지 컬렉션을 수행하며 각 웹 애플리케이션마다 별도의 클래스로더를 사용하여 클래스 파일 충돌을 방지합니다. 뿐만 아니라 보안 기능도 제공합니다. 웹 애플리케이션 간의 서로 다른 보안 정책을 적용하여, 각 웹 애플리케이션의 보안을 유지하는 방식입니다. 서블릿 서블릿 컨테이너가 생성한 서블릿은 클라이언트의 요청에 맞는 매핑을 찾아 해당 ..

정보처리기사 2023.04.21

[정보처리기사] CSRF 와 XSS 공격의 차이점

간단하게 요약하자면, CSRF는 공격자가 사용자의 인증 정보를 이용하여 다른 사이트에 악의적인 요청을 보내는 것이며, XSS는 공격자가 스크립트를 이용하여 사용자의 브라우저에서 악의적인 동작을 수행하는 것입니다. 자세히 확인하겠습니다 CSRF (Cross-Site Request Forgery) 다른 웹사이트에 "로그인한 사용자의 권한을 이용"하여, 웹사이트에 악성 요청을 보냅니다. 이를 통해 해커는 사용자의 권한을 이용하여 해당 사용자가 권한이 있는 일을 수행할 수 있습니다. 사용자 A가 은행 웹사이트에 로그인한 상태에서, 해커가 제작한 악성 웹사이트를 방문하는 경우를 가정해봅시다. 이때, 악성 웹사이트에는 은행 계좌 이체를 요청하는 스크립트가 포함되어 있습니다. 사용자 A가 악성 웹사이트를 방문하고, ..

정보처리기사 2023.04.21

[정보처리기사] 웹 세션(Session)이란?

페이지를 이동해도 사용자의 로그인 상태를 유지하는 기능을 생각해 봅시다. 우선 쿠키를 이용해서 사용자의 아이디와 비밀번호를 쿠키에 저장한다고 가정해 봅시다. https://myallinone.tistory.com/entry/HTTP-%EC%BF%A0%ED%82%A4%EB%9E%80 HTTP 쿠키란? " 쿠키(Cookie)란? " 쿠키는 웹 브라우저에서 서버로 전송되는 작은 데이터 조각입니다. 쿠키는 웹 사이트를 방문할 때 생성되며 브라우저에 저장됩니다. 이후 새로운 요청시에 쿠키를 헤더에 담아 myallinone.tistory.com 페이지를 이동하여도 쿠키를 통해 아이디와 비밀번호를 서버에 전달해서 서버에서는 사용자를 식별하여 해당 사용자의 로그인 상태를 유지시킬 수 있습니다. 하지만 이렇게 쿠키만을 ..

정보처리기사 2023.04.20

[정보처리기사] 웹 캐시(Cache)란?

캐시는 이전에 요청된 리소스를 저장하여, 같은 요청이 발생했을 때 서버에서 리소스를 다시 받아오지 않고, 저장된 캐시를 이용하여 빠르게 로딩할 수 있도록 도와주는 기능입니다. 웹 브라우저는 웹 페이지를 로드할 때 해당 페이지에 필요한 리소스를 다운로드합니다. 이 때, 브라우저는 다운로드한 리소스를 캐시에 저장하고, 이후에 같은 리소스가 필요할 때 서버에서 다시 다운로드하지 않고, 캐시에서 불러옵니다. 다음과 같이 HTTP 응답 헤더를 사용하여 캐시를 제어할 수 있습니다. HTTP/1.1 200 OK Date: Mon, 19 Apr 2023 06:47:56 GMT Content-Type: image/png Content-Length: 1024 Cache-Control: max-age=3600, public..

정보처리기사 2023.04.19

[정보처리기사] HTTP 쿠키(Cookie)란?

쿠키는 웹 브라우저에서 서버로 전송되는 작은 데이터 조각입니다. 쿠키는 웹 사이트를 방문할 때 생성되며 브라우저에 저장됩니다. 이후 새로운 요청시에 쿠키를 헤더에 담아 서버로 보냅니다. 일반적으로 유효 기간을 가지고 있으며, 이 유효 기간이 지나면 자동으로 삭제됩니다. 또한 사용자가 브라우저 캐시를 삭제하면 쿠키도 함께 삭제됩니다. 중요한 것은 쿠키는 웹 사이트가 사용자의 동의 없이 생성하고 사용할 수 없다는 것입니다. 그래서 GDPR(일반 데이터 보호 규정)와 같은 법적 규제가 있으며, 웹 사이트는 쿠키의 사용을 명확하게 설명하고, 사용자가 쿠키 사용에 동의할 수 있는 방법을 제공해야 합니다. 또한 쿠키에 중요한 개인 정보를 저장하면 안 됩니다. 왜냐하면 쿠키에 저장된 정보는 브라우저와 웹 서버 간에 ..

정보처리기사 2023.04.19

[정보처리기사] HTTP 통신 (HyperText Transfer Protocol)이란?

HTTP 통신은 웹 브라우저와 웹 서버 간에 통신을 가능하게 하는 프로토콜입니다. 웹 브라우저가 웹 서버에게 정보를 요청하면, 웹 서버는 요청받은 정보를 HTTP를 통해 응답합니다. HTTP 요청은 클라이언트(웹 브라우저, 앱 등)가 서버에게 보내는 요청 메시지입니다. 이 요청 메시지는 HTTP 메서드, URI, HTTP 버전, 요청 헤더, 요청 본문 등으로 구성됩니다. 다음은 요청 메시지의 예시입니다. GET / HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Accept: te..

정보처리기사 2023.04.19
반응형