CS 18

Network : Web : HTTP/HTTPs

NetworkWebHTTP/HTTPsHTTPHyper Text Transfer Protocol의 약자로, HyperText 즉 HTML(HyperText Markup language)를 주고 받을 목적으로 정의되었던 통신규약이다. 지금은 HTML만 주고받지는 않고 일반적인 프론트엔드 웹 리소스를 주고 받기 위해 사용된다.클라이언트-서버 구조의 Request-Response의 형식을 갖춘 Stateless Application level Protocol이다. HTTP포트를(TCP/80 또는 TCP/8080) 열고 대기중인 웹서버에 클라이언트가 요청하면, 서버가 이에 응답하여 클라이언트가 요청한 데이터를 제공하는 것이다.HTTP/1.0, HTTP/1.1, HTTP/2, HTTP/3 버전이 있으며, 1.1가 ..

CS/Newwork 2024.12.27

네트워크 : 3. 네트워크 프로토콜

3. 네트워크 프로토콜3.1. HTTP/SSL3.1.1. HTTPHyper Text Transfer Protocol. 웹상에서 이루어지는 데이터 전송 프로토콜이다.더보기최초에는 HyperText 즉 HTML(HyperText Markup Language)을 전송하기 위한 통신규약이었으나 근래에는 웹브라우저-웹서버로 대변되는 웹클라이언트-웹서버간 데이터 요청/응답 프로토콜로 의미가 확장되었다.근래의 어플리케이션이 눈부시게 발전한 탓인지 비교적 미지근한 웹페이지는 어플리케이션이 아니라고 생각하기도 하는데, 웹페이지 자체가 TCP연결 위에 얹어진 어플리케이션이다. 데이터를 평문으로 전송하기에 wireshark 따위의 패킷포획도구에 통신 데이터가 쉽게 노출된다클라이언트 URL로 웹서버에 접속해 HTTP 요청을(..

CS/Newwork 2024.12.20

네트워크 : 2. 네트워크 모델

2. 네트워크 모델2.1. 네트워크 모델이란데이터 통신이 이루어지는 네트워크의 논리적인 방식/구조를 의미하고, 조금 더 실천적으로는 그러한 방식/구조를 표준화하려는 일련의 가이드라인으로써 의미를 갖는다.통신 설계 교본 따위로 이해할 수 있다.2.2. internet protocol suiteTCP/IP 4계층으로 알려지거나 인식되어진다. 군사목적으로 개발된 4계층 네트워크 모델이다.단순한 계층구분과 명확한 프로토콜 제시로 실천 친화적이어서 기술이 빠르게 확산될 수 있었다. 현대 네트워크의 뿌리로 전통 강자일 뿐 아니라, 프로토콜에 한정하자면 현재도 1등 강자이다.TCP는 3way handshake로 신뢰성이 높은 연결을 제공하는 프로토콜이고, IP는 효율적인 라우팅으로 빠른 연결을 제공하는 프로토콜이다...

CS/Newwork 2024.12.18

네트워크 : 1. 개념과 분류

1. 개념과 분류1.1. 네트워크란1.1.1. 개념net(그물)+work. 그물처럼 얽힌 통신 형태의 추상적인 표현이다. "통신 인프라"로 대체해도 얼추 말이 맞는다.좀 더 구체적으로는 두 개 이상의 기기들이(노드) 서로 연결되어 통신하는 형태, 또는 그러한 인프라 등을 가리킨다. 네트워크라는 단어는 구체적 차원부터 추상적 차원까지 굉장히 넓은 의미를 가질 수 있기 때문에 이 단어만으로는 알 수 있는 정보가 빈약하고, 문맥 속에서 이해되어야 알 수 있다.1.1.2. 필요성네트워크 연결이 워낙 간편한 요즘은 역설적으로 그 중요성에 대해 절하할 염려도 있다. 이는 성숙한 인프라 기술들이 공통적으로 겪는 문제인데, 잘하면 당연한 거고 못하면 욕 먹는다. 반백년전까지 우물퍼서 먹던 사람들이말이야 네트워크 기술의..

CS/Newwork 2024.12.17

CS/OS운영체제 : 3.Linux OS 이용/관리 : 3.명령어 : 7. 편집기

3. Linux OS 이용/관리3.3. 명령어3.3.7. 편집기3.3.7.1. vi/vimvisual interface/visual interface improved. 대상파일(경로)을 수정한다. 없으면 생성한다.vim 대상파일(경로)UNIX환경에 내장된 문서 편집기이다. vi는 최초버전이고, vim이 개선된 버전으로, 정교한 작업이 가능하다.상태특징특징기본모드 커서위치 상단우측하단 행,렬 커서 인터페이스의 처리 명령을 실행하는h/j/k/l        커서위치변경(왼쪽/아래/위/오른쪽)i/a/o          커서위치에서/커서뒤에서/새로운줄을추가하고 입력 모드로 변경yy/dd        현재 줄 복사하기/잘라내기p               붙여녛기x               문자 하나 삭제하기u  ..

CS/OS 2024.12.17

운영체제 : 3.Linux OS 이용/관리 : 3.명령어 : 6. 네트워크/방화벽 관리

3. Linux OS 이용/관리3.3. 명령어3.3.6. 네트워크/방화벽 관리3.3.6.0. 네트워크/방화벽이란네트워크란(network), 서로 다른 단말/컴퓨터/장치들이 서로 정보를 통신할 수 있도록 구성된 구조/인프라를 의미한다.방화벽이란(firewall), 보안장치를 의미하며, 특히 네트워크 방화벽이란 단말/컴퓨터/장치에 접근하기 전에 네트워크 단에서 동작하는 것을 의미한다. 동작 지점에 따라 어플리케이션/DB/클라우드 방화벽 등으로 분류할 수 있다.3.3.6.1. ifconfiginterface configuration. 네트워크 인터페이스 구성을 출력/변경한다.ifconfig/ip 대상최신 리눅스에서는 ifconfig 대신 ip a/ip r이 기본 제공되며, ifconfig는 설치를 필요로 한다..

CS/OS 2024.12.13

운영체제 : 3.Linux OS 이용/관리 : 3.명령어 : 5. 프로세스 관리

3. Linux OS 이용/관리3.3. 명령어3.3.5. 프로세스 관리3.3.5.0.프로세스란process. 실행 중인 프로그램를 의미한다. 보통 CPU 스케줄링의 객체라는 의미로 접근한다. CPU는 코어단위로 직렬연산만 처리할 수 있어 OS의 CPU 스케줄링이 CS에서 중요한 화두이기 때문이다.프로세스별로 고유의 PID를 낮은 숫자부터 할당받는다. 프로세스가 종료된다고 그 PID를 다른 프로세스가 할당받는 것은 아니고, 계속 쌓아 올린다. history는 세션 단위에서, 사용자가 입력한 명령 순서를 누적한다면 PID는 셸 단위에서, 실행된 프로세스 순서를 누적한다.관점에 따라 프로세스를 여럿으로 분류할 수 있는데, 하기에서 정리한다.프로세스, 스레드, 코어가 혼동되곤 하는데, 하기에서 정리한다.관점분류..

CS/OS 2024.12.11

운영체제 : 3.Linux OS 이용/관리 : 3.명령어 : 4. 입력/실행/변경

3. Linux OS 이용/관리3.3. 명령어3.3.4. 입력/실행/변경3.3.4.1. 표준입출력첫인상은 입력/출력에 구체적인 수단/명령어를 의미할 것 같지만, 프로세스와 장치간, 프로세스와 프로세스간의 입력/출력의 추상적인 표준 규약을 의미한다. 표준에러까지 포함해 표준 스트림(standard stream)이라고 한다.입력과 출력간의 호환성을 도모해 시스템 리소스를 효율적으로 사용하기 위함이다.(리다이렉션/파이프 등) 파일디스크립터(file descriptor)란 그 입출력의 논리적 순번표식이라고 할 수 있다. 지정된 순번표식을 지나야 리소스 자원을 사용할 수 있다. 0,1,2는 이미 선점되어있다. file descriptor내용0키보드 > 프로세스 stdin1프로세스 > 모니터 stdout 2프로세스..

CS/OS 2024.12.06

운영체제 : 3.Linux OS 이용/관리 : 3.명령어 : 3. 와일드카드/정규표현식

3. Linux OS 이용/관리3.3. 명령어3.3.3. 와일드카드/정규표현식3.3.3.1. 와일드카드.wildcard. 명령어라기 보다는 명령어에 부수적으로 사용되는 대체 문자(열)이다.패턴매칭을 위한 특수 문자로, 동일한 표식을 사용하는 파일/디렉토리/내용을 색출하고자 할 때 사용한다. 주로 파일/디렉토리를 솎아내기에 좋다.동일한 표식이라도 결합되는 명령어에 따라 와일드카드가 되기도 하고 정규표현식이 되기도 하기에 주의해야 한다.정규표현식에 대비 상대적으로 단순하고 직관적인 대신, 제한적이다. 와일드카드를 쉽게 비유하자면 "한 번에 끝까지"라고 할 수 있다.ls, cp, mv, rm, find, tar, echo은 와일드카드를 채택한다.3.3.3.1.1. *0개 이상의 임의의 문자를 대체한다.정규표현..

CS/OS 2024.12.06

운영체제 : 3.Linux OS 이용/관리 : 3.명령어 : 2. 호출/검색/필터링

3. Linux OS 이용/관리3.3. 명령어3.3.2. 호출/검색/필터링3.3.2.1. catconcatenate. 여러 파일을 결합하거나 파일의 내용을 출력한다.cat 옵션 파일명많은 명령어의 출력값이나 환경변수들은 여러 디렉토리에 분산 저장되어 있는 내용을 호출하는 것이기 때문에, 근거가 되는 구체적인 경로를 알면 여러 명령어나 환경변수를 몰라도 되는 경우가 많다.(예 : $SHELL, whoami는 /etc/passwd에서 가져온다) which(Which command is being executed?) 명령어로 해당 명령어의 경로를 출력할 수 있다. 그러나 그 파일이 실행파일인 경우에는 cat으로 출력해도 대체로 기계어라는 어려움이 있다. 그러나 화면에 출력되는 문자열은 그대로 포함하기에 str..

CS/OS 2024.12.05