반응형
파일 시스템
파일 시스템
- 데이터를 조작하고 저장하는 방법을 정의하는 시스템
- 생성, 삭제, 읽기, 쓰기, 속성 관리 등의 기능 수행
- 루트 디렉토리와 서브 디렉토리의 계층 구조
파일 속성
- 이름 : 파일 식별에 사용
- 크기 : 파일의 바이트 수
- 생성/수정 날짜 : 파일이 생성되거나 수정된 날짜와 시간
- 접근 권한 : 파일의 읽기, 쓰기, 실행을 할 수 있는 사용자나 그룹
파일 시스템 유형
- FAT (File Allocation Table): 간단하고 널리 사용되지만 큰 파일 시스템에서는 비효율적
- NTFS (New Technology File System): Windows에서 사용되는 파일 시스템으로, 보안, 파일 압축, 암호화 등을 지원
- ext (Extended File System): Linux에서 사용되며, 현재는 ext4가 주로 사용
- HFS+/APFS (Apple File System): macOS에서 사용
- 파일의 구조:
- 헤더: 파일의 메타데이터를 포함합니다. 예를 들어, 파일 포맷, 크기, 데이터 구조 등에 대한 정보.
- 데이터 블록: 실제 데이터가 저장되는 부분으로 파일 시스템은 파일의 데이터를 여러 블록으로 나누어 저장 가능
- 메타데이터: 파일 속성, 권한, 타임스탬프와 같은 파일에 대한 추가 정보를 저장
- 파일의 종류:
- 텍스트 파일: .txt, .csv, .html 와 같이 사람이 읽을 수 있는 형식의 파일
- 바이너리 파일: 실행 파일(.exe), 이미지 파일(.jpg, .png)과 같이컴퓨터가 처리할 수 있는 형식의 파일
- 디바이스 파일: Unix 계열 시스템에서의 /dev 디렉토리 내 파일과 같이 하드웨어 디바이스를 나타내는 파일.
- 소켓 파일: 네트워크 통신에 사용되는 파일.
HTTP
HTTP 요청 (HTTP Request)
HTTP 요청은 클라이언트(일반적으로 웹 브라우저)가 서버에 특정 작업을 수행하도록 요청하는 메시지
메서드(Method)
- 요청의 유형을 지정함. 아래와 같은 메서드를 사용
- GET: 리소스를 가져오기 위한 요청.
- POST: 서버에 데이터를 제출하기 위한 요청.
- PUT: 서버에 리소스를 생성 또는 수정하기 위한 요청.
- DELETE: 서버에서 리소스를 삭제하기 위한 요청.
- HEAD: GET 요청과 동일하지만, 응답 본문을 포함하지 않음.
- OPTIONS: 서버가 지원하는 메서드의 목록을 요청.
- PATCH: 리소스의 부분적 수정을 요청.
- URI (Uniform Resource Identifier): 요청할 리소스를 지정.
- HTTP 버전: 사용된 HTTP 프로토콜의 버전을 지정요청 라인(Request Line):
헤더(Header):
- 요청에 대한 메타데이터를 포함하고, 키:값 형식으로 작성.
- 주요 요청 헤더:
- Host: 요청할 서버의 호스트 이름. Host: www.example.com
- User-Agent: 클라이언트 소프트웨어 정보를 제공. User-Agent: Mozilla/5.0
- Accept: 클라이언트가 받을 수 있는 미디어 타입. Accept: text/html
- Content-Type: 요청 본문의 데이터 타입. Content-Type: application/json
- Authorization: 인증 정보를 포함. Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
본문(Body):
- POST, PUT 요청에서 서버로 전송할 데이터를 포함
- GET 요청에서는 일반적으로 Body가 존재하지 않음
- 본문의 형식은 Content-Type 헤더에 의해 정의. application/json, application/x-www-form-urlencoded
HTTP 응답 (HTTP Response)
HTTP 응답은 서버가 클라이언트의 요청에 대해 반환하는 메시지
상태 라인(Status Line):
- HTTP 버전: HTTP/1.1.과 같이 사용된 HTTP 프로토콜의 버전을 지정
- 상태 코드(Status Code): 요청의 결과를 나타내는 3자리 숫자 코드
- 1xx (정보): 요청을 받았으며 프로세스를 계속
- 2xx (성공): 요청이 성공적으로 처리 됨
- 200 OK: 요청이 성공적으로 처리 됨
- 201 Created: 요청이 성공적으로 처리되었으며, 자원 생성.
- 3xx (리다이렉션): 요청을 완료하기 위해 추가 작업이 필요
- 301 Moved Permanently: 요청한 리소스가 영구적으로 이동
- 302 Found: 요청한 리소스가 임시적으로 이동
- 4xx (클라이언트 오류): 요청에 오류
- 400 Bad Request: 잘못된 요청.
- 401 Unauthorized: 인증 필요.
- 403 Forbidden: 서버가 요청을 거부.
- 404 Not Found: 요청한 리소스를 찾을 수 없음
- 5xx (서버 오류): 서버에서 요청을 처리하는 중 오류가 발생
- 500 Internal Server Error: 서버 오류가 발생했습니다.
- 503 Service Unavailable: 서버가 일시적으로 과부하 또는 유지보수 중입니다.
- 상태 메시지: 상태 코드에 대한 짧은 설명. OK, Created, Bad Request, Not Found.
헤더(Header):
- 응답에 대한 메타데이터를 포함 각 헤더는 키: 값 형식으로 작성
- 주요 응답 헤더:
- Date: 응답이 생성된 날짜와 시간. 예: Date: Tue, 15 Nov 2023 08:12:31 GMT
- Server: 서버 소프트웨어 정보를 제공. 예: Server: Apache/2.4.41 (Ubuntu)
- Content-Type: 응답 본문의 데이터 타입. 예: Content-Type: text/html
- Content-Length: 응답 본문의 바이트 크기. 예: Content-Length: 138
- Set-Cookie: 클라이언트에 설정할 쿠키. 예: Set-Cookie: sessionId=abc123; Path=/; HttpOnly
반응형
'컴퓨터 사이언스(CS) > 시스템' 카테고리의 다른 글
[CS] TCP/UDP 개념 + socket 관리 (0) | 2024.08.07 |
---|
댓글