
안녕하세요.
오늘은 HTTP의 통신 방법과 데이터베이스의 기본 SQL 명령어들에 대해 정리해보겠습니다.
HTTP(HyperText Transfer Protocol)
HTTP는 인터넷에서 데이터를 주고받기 위한 텍스트 기반의 통신 규약입니다. 이 규약 덕분에 모든 프로그램이 동일한 방식으로 정보를 교환할 수 있도록 개발됩니다. 웹 브라우저를 통해 사용자가 요청(request)을 보내면, 서버는 해당 요청에 맞는 응답(response)을 반환하는 구조로 동작합니다.
HTTP의 주요 특징
• 텍스트 기반의 통신 규약: HTTP 메시지는 클라이언트와 서버에 의해 해석됩니다.
• TCP/IP 기반 응용 프로토콜: 인터넷이라는 통신망을 통해 데이터를 주고받는 프로토콜입니다.
• 비연결성 프로토콜: HTTP는 요청과 응답이 끝나면 연결을 유지하지 않습니다. 이를 보완하기 위해 Cookie와 Session이 사용됩니다.
• 요청/응답 방식: HTTP는 요청(request)과 응답(response) 방식으로 동작합니다.
Request
클라이언트가 서버에 데이터를 요청하는 행위를 말하며, 이 요청은 여러 정보를 포함합니다.
1. Request Method
• GET: 자료를 요청할 때 사용.
• POST: 자료의 생성을 요청할 때 사용.
• PUT: 자료의 수정을 요청할 때 사용.
• DELETE: 자료의 삭제를 요청할 때 사용.
2. Request Message
요청 메시지는 세 가지 요소로 구성됩니다:
1. 요청 라인: 요청 방식(GET, POST, PUT, DELETE)과 URL 정보.
• 예시: GET https://kimbob.pages.dev HTTP/1.1
2. Header: 요청에 대한 부가적인 정보.
• 예시: User-Agent: Mozilla/5.0
3. Body: POST, PUT 요청 시 서버로 전송할 데이터를 포함합니다. 데이터가 없는 경우 Body는 생략될 수 있습니다.
Response
서버가 클라이언트의 요청에 대한 답변을 반환하는 행위를 말합니다.
1. Status Code
상태 코드는 클라이언트의 요청이 어떻게 처리되었는지를 나타내며, 다음과 같이 분류됩니다:
• 1XX (조건부 응답): 요청을 받았으며 작업을 계속 진행 중.
• 2XX (성공): 요청이 성공적으로 처리됨.
• 예시: 200 OK
• 3XX (리다이렉션): 추가 작업이 필요함.
• 4XX (요청 오류): 클라이언트 측 오류.
• 5XX (서버 오류): 서버 측 오류.
2. Response Message
응답 메시지도 세 가지 요소로 구성됩니다:
1. 상태 라인: 응답 상태 코드와 메시지.
• 예시: HTTP/1.1 200 OK
2. Header: 응답에 대한 부가적인 정보.
• 예시: Content-Type: text/html
3. Body: 서버에서 클라이언트로 전송되는 데이터.
• 예시: <!DOCTYPE html><html lang="ko">...</html>
데이터베이스(Database)
데이터베이스(Database)는 체계적으로 관리되는 **‘데이터의 집합’**입니다. 데이터베이스는 다양한 형태로 데이터를 저장하고 관리할 수 있으며, 이를 운영하고 관리하기 위해 **DBMS(Database Management System)**라는 소프트웨어를 사용합니다.
DBMS란?
DBMS는 데이터베이스를 생성, 관리, 운영할 수 있는 소프트웨어입니다. DBMS를 통해 데이터의 저장, 수정, 삭제, 검색 등의 작업을 쉽게 수행할 수 있습니다. 대표적인 DBMS로는 MySQL, 오라클(Oracle), SQL 서버, MariaDB 등이 있습니다. 이 소프트웨어들은 각기 다른 특성과 기능을 가지고 있지만, 데이터 관리 목적에 따라 적합한 DBMS를 선택해 사용할 수 있습니다.
DBMS의 유형
DBMS는 여러 가지 유형으로 나눌 수 있으며, 그중 주요한 세 가지 유형은 다음과 같습니다:
1. 계층형 DBMS (Hierarchical DBMS)
• 특징: 트리 구조를 가지며, 데이터가 계층적으로 조직됩니다.
• 단점: 계층 구조 변경이 어렵고 유연성이 부족해 현재는 거의 사용되지 않습니다.
2. 망형 DBMS (Network DBMS)
• 특징: 데이터 간의 연결이 보다 유연한 망 구조로 조직됩니다.
• 단점: 복잡한 구조를 이해하고 활용하기 어려워, 현재는 거의 사용되지 않습니다.
3. 관계형 DBMS (Relational DBMS, RDBMS)
• 특징: 데이터를 테이블 형태로 관리하며, 가장 널리 사용되는 DBMS 유형입니다.
• 구성: 테이블은 행(row)과 열(column)로 구성되어 있으며, 각 테이블에는 명확한 스키마(데이터 구조)가 정의됩니다.
SQL이란?
**SQL(Structured Query Language)**은 관계형 데이터베이스에서 데이터를 관리하기 위한 언어입니다. SQL을 사용하여 데이터를 저장, 수정, 삭제, 검색할 수 있습니다.
관계형 데이터베이스의 특징
1. 스키마 기반 데이터 저장: 데이터는 미리 정의된 스키마에 따라 테이블에 저장됩니다.
2. 데이터의 관계: 여러 테이블에 데이터를 분산시켜 관리하며, 이를 통해 데이터 중복을 최소화하고 정확성을 유지합니다.
관계형 데이터베이스는 엄격한 스키마 구조를 준수해야 하므로, 스키마에 맞지 않는 데이터는 테이블에 추가할 수 없습니다. 이로 인해 데이터의 일관성과 무결성을 유지할 수 있습니다.
NoSQL이란?
NoSQL은 전통적인 관계형 데이터베이스와 달리 스키마도 없고, 관계도 없는 데이터베이스 시스템입니다. NoSQL에서는 데이터가 문서(documents) 형태로 저장되며, 이 문서들은 JSON과 유사한 구조를 가지고 있습니다.
NoSQL의 특징
1. 유연한 데이터 구조: 스키마가 없으므로, 같은 컬렉션(collection) 내에서도 다양한 구조의 데이터를 저장할 수 있습니다.
2. 문서 기반 저장: 여러 테이블로 데이터를 나누지 않고, 관련 데이터를 하나의 컬렉션에 저장합니다.
NoSQL에서는 **조인(join)**이라는 개념이 없으며, 필요한 데이터를 포함한 문서를 작성하여 저장합니다. 만약 조인 기능이 필요한 경우, 데이터를 복제하여 각 컬렉션에 저장하는 방식으로 해결합니다. 이로 인해 데이터 중복이 발생할 수 있지만, 자주 변경되지 않는 데이터를 관리할 때 매우 효율적입니다.
SQL과 NoSQL의 비교
• SQL: 정해진 스키마에 따라 데이터를 테이블에 저장하며, 데이터의 일관성과 무결성을 유지하는 데 강점이 있습니다. 주로 관계형 데이터베이스에서 사용됩니다.
• NoSQL: 유연한 데이터 구조를 지원하며, 스키마가 없고 조인 없이 데이터를 저장합니다. 비정형 데이터나 자주 변경되지 않는 데이터를 관리하는 데 효율적입니다.
'부스트캠프 9기 > 챌린지' 카테고리의 다른 글
[부스트캠프 9기 챌린지] 회고&후기 - 수료 (0) | 2024.08.11 |
---|---|
[부스트캠프 9기 챌린지] 학습 정리 - 18일차 (0) | 2024.08.07 |
[부스트캠프 9기 챌린지] 회고 - 2주차&3주차 (0) | 2024.08.03 |
[부스트캠프 9기 챌린지] 학습 정리 - 13일차 (0) | 2024.07.31 |
[부스트캠프 9기 챌린지] 학습 정리 - 11일차 (0) | 2024.07.29 |

안녕하세요.
오늘은 HTTP의 통신 방법과 데이터베이스의 기본 SQL 명령어들에 대해 정리해보겠습니다.
HTTP(HyperText Transfer Protocol)
HTTP는 인터넷에서 데이터를 주고받기 위한 텍스트 기반의 통신 규약입니다. 이 규약 덕분에 모든 프로그램이 동일한 방식으로 정보를 교환할 수 있도록 개발됩니다. 웹 브라우저를 통해 사용자가 요청(request)을 보내면, 서버는 해당 요청에 맞는 응답(response)을 반환하는 구조로 동작합니다.
HTTP의 주요 특징
• 텍스트 기반의 통신 규약: HTTP 메시지는 클라이언트와 서버에 의해 해석됩니다.
• TCP/IP 기반 응용 프로토콜: 인터넷이라는 통신망을 통해 데이터를 주고받는 프로토콜입니다.
• 비연결성 프로토콜: HTTP는 요청과 응답이 끝나면 연결을 유지하지 않습니다. 이를 보완하기 위해 Cookie와 Session이 사용됩니다.
• 요청/응답 방식: HTTP는 요청(request)과 응답(response) 방식으로 동작합니다.
Request
클라이언트가 서버에 데이터를 요청하는 행위를 말하며, 이 요청은 여러 정보를 포함합니다.
1. Request Method
• GET: 자료를 요청할 때 사용.
• POST: 자료의 생성을 요청할 때 사용.
• PUT: 자료의 수정을 요청할 때 사용.
• DELETE: 자료의 삭제를 요청할 때 사용.
2. Request Message
요청 메시지는 세 가지 요소로 구성됩니다:
1. 요청 라인: 요청 방식(GET, POST, PUT, DELETE)과 URL 정보.
• 예시: GET https://kimbob.pages.dev HTTP/1.1
2. Header: 요청에 대한 부가적인 정보.
• 예시: User-Agent: Mozilla/5.0
3. Body: POST, PUT 요청 시 서버로 전송할 데이터를 포함합니다. 데이터가 없는 경우 Body는 생략될 수 있습니다.
Response
서버가 클라이언트의 요청에 대한 답변을 반환하는 행위를 말합니다.
1. Status Code
상태 코드는 클라이언트의 요청이 어떻게 처리되었는지를 나타내며, 다음과 같이 분류됩니다:
• 1XX (조건부 응답): 요청을 받았으며 작업을 계속 진행 중.
• 2XX (성공): 요청이 성공적으로 처리됨.
• 예시: 200 OK
• 3XX (리다이렉션): 추가 작업이 필요함.
• 4XX (요청 오류): 클라이언트 측 오류.
• 5XX (서버 오류): 서버 측 오류.
2. Response Message
응답 메시지도 세 가지 요소로 구성됩니다:
1. 상태 라인: 응답 상태 코드와 메시지.
• 예시: HTTP/1.1 200 OK
2. Header: 응답에 대한 부가적인 정보.
• 예시: Content-Type: text/html
3. Body: 서버에서 클라이언트로 전송되는 데이터.
• 예시: <!DOCTYPE html><html lang="ko">...</html>
데이터베이스(Database)
데이터베이스(Database)는 체계적으로 관리되는 **‘데이터의 집합’**입니다. 데이터베이스는 다양한 형태로 데이터를 저장하고 관리할 수 있으며, 이를 운영하고 관리하기 위해 **DBMS(Database Management System)**라는 소프트웨어를 사용합니다.
DBMS란?
DBMS는 데이터베이스를 생성, 관리, 운영할 수 있는 소프트웨어입니다. DBMS를 통해 데이터의 저장, 수정, 삭제, 검색 등의 작업을 쉽게 수행할 수 있습니다. 대표적인 DBMS로는 MySQL, 오라클(Oracle), SQL 서버, MariaDB 등이 있습니다. 이 소프트웨어들은 각기 다른 특성과 기능을 가지고 있지만, 데이터 관리 목적에 따라 적합한 DBMS를 선택해 사용할 수 있습니다.
DBMS의 유형
DBMS는 여러 가지 유형으로 나눌 수 있으며, 그중 주요한 세 가지 유형은 다음과 같습니다:
1. 계층형 DBMS (Hierarchical DBMS)
• 특징: 트리 구조를 가지며, 데이터가 계층적으로 조직됩니다.
• 단점: 계층 구조 변경이 어렵고 유연성이 부족해 현재는 거의 사용되지 않습니다.
2. 망형 DBMS (Network DBMS)
• 특징: 데이터 간의 연결이 보다 유연한 망 구조로 조직됩니다.
• 단점: 복잡한 구조를 이해하고 활용하기 어려워, 현재는 거의 사용되지 않습니다.
3. 관계형 DBMS (Relational DBMS, RDBMS)
• 특징: 데이터를 테이블 형태로 관리하며, 가장 널리 사용되는 DBMS 유형입니다.
• 구성: 테이블은 행(row)과 열(column)로 구성되어 있으며, 각 테이블에는 명확한 스키마(데이터 구조)가 정의됩니다.
SQL이란?
**SQL(Structured Query Language)**은 관계형 데이터베이스에서 데이터를 관리하기 위한 언어입니다. SQL을 사용하여 데이터를 저장, 수정, 삭제, 검색할 수 있습니다.
관계형 데이터베이스의 특징
1. 스키마 기반 데이터 저장: 데이터는 미리 정의된 스키마에 따라 테이블에 저장됩니다.
2. 데이터의 관계: 여러 테이블에 데이터를 분산시켜 관리하며, 이를 통해 데이터 중복을 최소화하고 정확성을 유지합니다.
관계형 데이터베이스는 엄격한 스키마 구조를 준수해야 하므로, 스키마에 맞지 않는 데이터는 테이블에 추가할 수 없습니다. 이로 인해 데이터의 일관성과 무결성을 유지할 수 있습니다.
NoSQL이란?
NoSQL은 전통적인 관계형 데이터베이스와 달리 스키마도 없고, 관계도 없는 데이터베이스 시스템입니다. NoSQL에서는 데이터가 문서(documents) 형태로 저장되며, 이 문서들은 JSON과 유사한 구조를 가지고 있습니다.
NoSQL의 특징
1. 유연한 데이터 구조: 스키마가 없으므로, 같은 컬렉션(collection) 내에서도 다양한 구조의 데이터를 저장할 수 있습니다.
2. 문서 기반 저장: 여러 테이블로 데이터를 나누지 않고, 관련 데이터를 하나의 컬렉션에 저장합니다.
NoSQL에서는 **조인(join)**이라는 개념이 없으며, 필요한 데이터를 포함한 문서를 작성하여 저장합니다. 만약 조인 기능이 필요한 경우, 데이터를 복제하여 각 컬렉션에 저장하는 방식으로 해결합니다. 이로 인해 데이터 중복이 발생할 수 있지만, 자주 변경되지 않는 데이터를 관리할 때 매우 효율적입니다.
SQL과 NoSQL의 비교
• SQL: 정해진 스키마에 따라 데이터를 테이블에 저장하며, 데이터의 일관성과 무결성을 유지하는 데 강점이 있습니다. 주로 관계형 데이터베이스에서 사용됩니다.
• NoSQL: 유연한 데이터 구조를 지원하며, 스키마가 없고 조인 없이 데이터를 저장합니다. 비정형 데이터나 자주 변경되지 않는 데이터를 관리하는 데 효율적입니다.
'부스트캠프 9기 > 챌린지' 카테고리의 다른 글
[부스트캠프 9기 챌린지] 회고&후기 - 수료 (0) | 2024.08.11 |
---|---|
[부스트캠프 9기 챌린지] 학습 정리 - 18일차 (0) | 2024.08.07 |
[부스트캠프 9기 챌린지] 회고 - 2주차&3주차 (0) | 2024.08.03 |
[부스트캠프 9기 챌린지] 학습 정리 - 13일차 (0) | 2024.07.31 |
[부스트캠프 9기 챌린지] 학습 정리 - 11일차 (0) | 2024.07.29 |