CS
-
URI에 네이버를 입력하면 발생하는 일CS 2024. 6. 15. 20:42
0. HTTP, URIHTTP(Hypertext Transfer Protocol )HyperText인 HTML을 전송하기 위한 통신 규약프로토콜 : 컴퓨터 사이에서 데이터를 교환하는 방식을 정한 규칙 체계특징Connectionless 프로토콜(비연결 지향) 클라이언트가 서버에 요청(Request)했을 때 해당 요청에 맞는 응답(Response)를 보낸 후 연결을 끊는 처리방식Stateless(스테이트리스) 프로토콜 커넥션을 끊는 순간 클라이언트와 서버의 통신이 끝나며 상태 정보는 유지하지 않는 특성 존재"서버가 클라이언트의 상태를 보존하지 않는다."는 의미는 HTTP 통신을 하면 사용자가 로그인을 한 후 마이페이지로 넘어가면 로그인이 해제된다는 의미입니다. 이를 해결할 방법은 쿠키, 세션, 토큰이 있습니..
-
암호화 방식(대칭키, 공개키)CS 2024. 5. 27. 11:21
암호화암호화란 정보를 전달할 때 해당 메시지를 수신자가 아닌 사람이 알지 못하게 하고, 수신자는 해석할 수 있도록 하는 것입니다.또한 자신이 혼자 확인하는 정보라도, 타인이 이해할 수 없는 메시지로 만드는 것도 포함됩니다. 예를 들어, a가 b에게 “tistory”라는 메시지를 암호화해서 전달한다고 가정합니다.a는 “tistory”의 각각 글자를 키보드의 왼쪽 글자로 변경하는 규칙을 통해 “ruarit”라고 전송하려합니다.중간에 가로챈 사람은 메시지가 어떤 뜻인지 이해할 수 없습니다. 이렇게 해독 불가능한 메시지를 암호문이라고 합니다.원본 메시지(평문)을 암호문으로 변환하는 과정을 암호화(Encryption)라고 부르며, 암호문을 평문으로 변환하는 과정을 복호화(Decryption)라고 부릅니다.암호화,..
-
[CS] CDN(Contents Delivery Network)CS 2023. 4. 17. 00:03
CDN의 정의 CDN은 컨텐츠 전달 네트워크의 약자로 말 그대로, 컨텐츠를 전달하는 네트워크를 구성하는 것이다. 보통 웹사이트를 로딩할 때는 웹 서버에 HTTP 요청을 하여 리소스를 가져오지만 웹 서버가 아니라 현재 사용자가 접속한 위치에서 가장 가까운 서버에 리소스를 캐싱해놓고 보다 빠르게 가져오는 기법이다. 물론, CDN 네트워크를 구축하기 위해선 해당되는 지역의 ISP(인터넷 제공업체, Internet Service Provider), 네트워크 사업자, 이동통신 사업자에게 서버의 호스팅 비용을 지불해야 한다. 이렇게 네트워크를 구축하게 되면 정적 리소스를 더욱 빠른 속도로 서비스 할 수 있게 되는 것이다. 캐싱 캐싱은 더 빠른 데이터 접근을 위해 동일한 데이터의 여러 복사본을 저장하는 프로세스이다...
-
[CS] Blocking, Non-Blocking, Sync, AsyncCS 2023. 1. 11. 22:58
💡https://www.youtube.com/watch?v=oEIoqGd-Sns위 영상을 보고 작성한 글입니다. 1. Blocking vs Non-Blocking제어의 관점 : 다른 주체가 작업할 때 자신의 제어권이 있는지 없는지로 볼 수 있다.Blocking : 자신의 작업을 진행하다가 다른 주체의 작업이 시작되면 다른 작업이 끝날 때까지 기다렸다가 자신의 작업을 시작하는 것Non-Blocking : 다른 주체의 작업에 관련없이 자신의 작업을 하는 것 2. Sychronous VS Asynchronous순서와 결과(처리)의 관점 : 결과를 돌려주었을 때 순서와 결과에 관심이 있는지 아닌지로 판단할 수 있다.Sychronous : 동기, 작업을 동시에 수행하거나, 동시에 끝나거나 끝나는 동시에 시작함을 ..
-
[CS] 가상메모리CS 2023. 1. 6. 01:56
💡https://www.youtube.com/watch?v=5pEDL6c--_k위 영상을 보고 정리한 글입니다.가상메모리 가상메모리 배경지식컴퓨터 구조레지스터자료를 보관하는 매우 빠른 기억 장소메인 메모리빠르지만 용량이 작고 휘발성DISK느리지만 용량이 크고 비휘발성더 많은 내용을 저장하기 위해 사용 프로그램이 실행되는 것주소 바인딩컴파일 타임 바인딩로드 타임 바인딩실행 시간 바인딩 스왑영역 가상메모리메모리 관리 기법 중 하나로 프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하다록 하는 기법사용자 프로그램이 물리 메모리의 제약에서 벗어남사용자 프로그램이 물리 메모리보다 커져도 됨프로그래머는 물리 메모리 크기를 신경쓰지 않아도 되기 때문에 실제 해결하고자 하는 문제에 집중 가능각 프로그램이 더 ..
-
[CS] MVCCS 2022. 12. 28. 23:17
https://www.youtube.com/watch?v=ogaXW6KPc8I 위 영상을 시청하고 정리한 내용입니다. MVC MVC 탄생 이유 유지보수가 편해지는 코드 구성 방식을 취하기 위해서 MVC Model : 데이터와 관련된 부분 View : 사용자한테 보여지는 부분 Controller : Model과 View를 이어주는 부분 MVC를 지키면서 코딩하는 방법 Model은 Controller와 View에 의존하지 않아야 한다. 즉, Model 내부에 Controller와 View에 관련된 코드가 있으면 안된다. View는 Model에만 의존해야하고, Controller의 코드가 있으면 안된다. 즉, View 내부에 Model의 코드만 있을 수 있고, Controller의 코드가 있으면 안된다. Vi..
-
[CS] 데이터베이스 인덱스CS 2022. 12. 15. 00:05
데이터베이스 인덱스 인덱스인덱스사전적 정의 : 쉽게 찾아볼 수 있도록 일정한 순서에 따라 놓은 목록원하는 값을 빠르게 찾을 수 있다. 데이터베이스 인덱스데이터베이스 테이블에 대한 검색 성능을 향상시키는 자료 구조이며, WHERE 절 등을 통해 활용 데이터베이스 인덱스 특징인덱스는 항상 최신의 정렬상태를 유지인덱스도 하나의 데이터베이스 객체데이터베이스 크기의 약 10% 정도의 저장공간 필요 인덱스 알고리즘페이지 : 데이터가 저장되는 단위Full Table Scan : 순차적으로 처음부터 데이터 찾음특징순차적으로 접근접근 비용 감소사용되는 경우적용 가능한 인덱스가 없는 경우인덱스 처리 범위가 넓은 경우크기가 작은 테이블에 엑세스하는 경우 B-Tree트리 높이가 같음자식 노드를 2개 이상 가질 수 있음기본 데..
-
[CS] 웹서버 vs WASCS 2022. 12. 11. 03:49
Web인터넷을 기반으로 한 정보를 공유 검색할 수 있는 서비스URL(주소), HTTP(통신 규칙), HTML(내용) Server클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 Web Server인터넷을 기반으로 클라이언트에게 서비스를 제공하는 컴퓨터정적인 컨텐츠만 줄 수 있음 Web Application웹에서 실행되는 응용 프로그램 Web Application Server(WAS)웹 어플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임 워크웹 어플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에 전달php, jsp, asp와 같은 언어들을 사용해 동적인 페이지를 생성할 수 있는 서버프로그램 실행환경과 데이터베이스 접공 기능 제공비지니스 로직 수..