본문 바로가기

CS

(20)
[Network] 프로토콜 계층(2) 프로토콜 계층이란? 이 글을 읽기 전에 알아두면 이해에 도움이 되는 내용을 따로 정리해 두었습니다. 해당 글을 먼저 읽고 오시는 걸 추천드릴게요! (이해가 되지 않거나 앞으로의 설명에 꼭 필요한 부분이 빠졌다고 생각되시는 내용은 댓글을 통해 알려주시면 수정하겠습니다) [Network] 프로토콜 계층(1) 이번글은 네트워크 구조에 대해 정리해 보려고 합니다. 웹에 대해 공부를 하다보면 TCP/IP 라는 용어가 자주 등장해 그 용어 대해 이해하려고 하면 선수 지식들이 많다 보니 이번 글을 통해 초석 jminc00.tistory.com 호스트의 수가 늘어나면 그에 따라 네트워크도 매우 복잡해 질 수밖에 없습니다. 즉, 다양한 애플리케이션과 프로토콜, 여러 가지 종단 시스템과 종단 시스템 간의 연결, 라우터, ..
[Network] 프로토콜 계층(1) 이번 글은 네트워크 구조에 대해 정리해 보려고 합니다. 웹에 대해 공부를 하다 보면 TCP/IP라는 용어가 자주 등장해 그 용어 대해 이해하려고 하면 선수 지식들이 많다 보니 이번 글을 통해 초석을 다지려고 합니다. 글을 읽다가 이해가 되지 않는다거나 틀린 부분이 있다면 댓글로 알려 주시면 감사하겠습니다. (이 글은 컴퓨터 네트워크 하향식 접근방법 제8판을 참고하여 작성하였습니다.) 프로토콜이란? 네트워크는 프로토콜이 매우 중요합니다. 프로토콜이 무엇인지에 대해 이해를 돕기 위해 아래의 이미지를 보겠습니다. 왼쪽의 이미지는 두 사람이 대화를 나누고 있습니다. 대화의 내용은 다음과 같습니다. 여자 : Hi 남자 : Hi 여자 : Got the time? 남자 : 2:00! 매우 익숙한 대화의 내용에서는 우..
[Linux] 가상화 이 글은 Linux에 대한 인프런 강의 사이트 중 "리눅스 입문"에서 학습한 내용과 레퍼런스를 참고하여 작성되었습니다. 대부분의 사람들은 MS의 windows나 애플의 macOS에 대해서는 잘 알고 있다고 생각합니다. 대부분의 노트북이나 데스크톱에 기본적으로 깔려있는 운영체제 이기 때문인데요. Linux도 windows, macOS와 마찬가지로 OS의 한 종류입니다. OS(Operating System)는 컴퓨터의 하드웨어와 소프트웨어 자원을 관리하는 시스템 소프트웨어를 의미합니다. 아래의 그림의 왼쪽 그림을 보면 H/W와 Application(S/W)사이에 OS가 위치해 있고, OS는 컴퓨터의 자원(H/W)과 프로그램(S/W)을 관리하는 역할을 담당합니다. 가상화를 설명하기 위해서 선행적으로 OS에 대..
REST API 란? 웹 개발을 한다면 한 번쯤은 들어볼 REST API에 대해 정리해보려고합니다. 이번 글을 정리하면서 대부분의 웹서비스가 REST API를 왜 사용하고 있는지에 대해 알게 되었고 웹 개발자로 일을 하면서 REST란? REST는 "Representational State Transfer"의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다. "자원"이라는 것이 저는 추상적이라고 느껴져서 구체적인 예시를 들어서 설명하자면 DB로부터 학생의 기본정보를 조회하는 상황을 생각해보겠습니다. JSON형식으로 데이터를 조회한다면 학생의 아이디나 시퀀스(기본키로 사용되는 값)를 가지고 학생의 정보를 조회할 것이라고 떠올릴 수 있을 것 같습니다. student : { name : '홍길동',..
HTTP 상태 코드 이번 글은 자주 만나게 되는 HTTP 상태 코드의 종류와 의미에 대해 정리해 보려고 합니다. 개발을 하다 보면 자주 보는 에러 코드들이지만 막상 "너 401이랑 403" 차이점이 뭐야?"라고 물어보면 대답하기 쉽지 않더라고요 가오가 좀 상하니까 이번 기회에 정리해 보려고 합니다. HTTP 상태 코드의 종류에 대해 정리하기 전에 HTTP 상태 코드에 대해 간략하게 정리하자면 서버에 HTTP(HTTPS) 요청을 보내면 응답을 받게 되는데 이때 이 응답의 "쌍태"를 나타내는 것이 HTTP 상태 코드입니다. 상태 코드는 크게 5개의 클래스로 분류됩니다. 1xx 정보 요청을 받았으며 프로세스를 계속한다. 2xx 성공 요청을 성공적으로 받았으며 인식했고 수용했다. 3xx 리다이랙션 요청 완료를 위해 초가 작업 조치..
오픈소스 라이선스 오랜만에 포스팅입니다..ㅎㅎ 이번 글은 오픈소스 라이선스라는 주제에 대해 제가 공부한 내용을 정리해보려고 합니다. 그동안 개발을 공부하면서 상업적인 목적으로 소프트웨어를 개발해 배포하는 일이 없었기 때문에 오픈소스 라이선스에 대한 개념을 알지 못했지만 웹 개발자로서 일을 시작하면서 회사의 이사님께서 "개발을 하면서 오픈소스 라이선스의 개념은 매우 중요하니 공부해봐"라고 말씀해 주셔서 이번 기회에 오픈소스 라이선스는 무엇이고 왜 중요한지에 대해 정리해 보겠습니다. 오픈소스 란? 오픈소스는 소프트웨어 소스 코드가 공개되어 누구나 사용가능한 것을 의미합니다. 일반적으로 오픈소스는 자유롭게 복제, 배포 수정할 수 있지만 "지식 재산 저작권, 산업재산권의 보호" 가 배제된다는 것은 아닙니다. 라이선스란? 라이선스..
XSS (Cross-Site-Scripting) 이번 글은 오늘 제가 현 프로젝트를 진행하면서 제 사수 분께서 열심히 설명해 주셨던 XSS에 관한 내용을 정리해 보려고 합니다. XSS (Cross-Site-Scipting) 이란? XSS는 "크로스 사이트 스크립팅"이라고 불리며 웹사이트에 악성 스크립트를 주입하는 행위 입니다. 여기서 말하는 악성 스크립트란 말 그대로 사용자의 로그인 정보를 빼낸다거나, 사용자가 접속하려는 사이트가 아닌 다른 사이트로 접속하게 하는 등 사용자와 사용자가 접속하려는 서버 사이에서 악의적인 의도를 갖는 스크립트(Script)를 웹 사이트 내에 주입하는 행위를 의미합니다. 그럼 어떻게 악성 스크립트를 웹 사이트에 주입할 수 있는 걸까요?? 간단한 예시를 들어 보겠습니다. 사용자가 다음과 같은 페이지에서 특정 글을 확인하기 위..
HTTP/1.1 과 HTTP/2 의 차이점 이번 포스팅의 주제는 HTTP /1.1과 HTTP/2의 차이점에 대해 중점적으로 다뤄 보려고 합니다. 둘의 차이점을 정리하기 전에 HTTP/2로 발전의 필요성에 대해 먼저 언급하고 가겠습니다. 1. Latency(지연 시간) 감소 2. 네트워크 통신에 필요한 데이터량 감소 3. 서버에서 클라이언트로 먼저 데이터를 보낼 수 있는 방법 HTTP/1.1 에서 HTTP/2 로이 발전하게 된 요인들은 위에서 언급한 것처럼 3가지 가 있습니다. HTTP/1.1 에서는 어떤 문제점이 있었고 HTTP/2는 어떻게 이 문제를 해결했는지에 대해서 이제부터 정리해 보겠습니다. HTTP/1.1 HTTP/1.x 의 가장 큰 특징은 하나의 연결당 한개의 응답만 보낼 수 있도록 설계되어 있다는 것입니다. HTTP/1.x의 이런 특..

반응형