본문 바로가기
컴퓨터 사이언스(CS)/시스템

[CS] 파일 시스템과 HTTP

by char_lie 2024. 8. 5.
반응형

 

파일 시스템

출처 : https://www.linkedin.com/pulse/parallel-file-system-vs-network-dummies-briti-gangopadhay

파일 시스템

  • 데이터를 조작하고 저장하는 방법을 정의하는 시스템
  • 생성, 삭제, 읽기, 쓰기, 속성 관리 등의 기능 수행
  • 루트 디렉토리와 서브 디렉토리의 계층 구조

파일 속성

  • 이름 : 파일 식별에 사용
  • 크기 : 파일의 바이트 수
  • 생성/수정 날짜 : 파일이 생성되거나 수정된 날짜와 시간
  • 접근 권한 : 파일의 읽기, 쓰기, 실행을 할 수 있는 사용자나 그룹

파일 시스템 유형

 

  • 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

 

출처 : https://medium.com/@rohitpatil97/http-request-http-response-context-and-headers-part-iii-5c37bd4cb06b

 

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
  1.  
반응형

'컴퓨터 사이언스(CS) > 시스템' 카테고리의 다른 글

[CS] TCP/UDP 개념 + socket 관리  (0) 2024.08.07

댓글