Study/TIL(Today I Learned)

24.06.09 복습

에린_1 2024. 6. 10. 22:35
728x90

복습

CGI(Common Gateway Interface)

  • CGI는 웹 서버와 외부 프로그램 간의 인터페이스를 정의하는 표준이다. 이를 통해 웹 서버는 동적인 콘텐츠를 생성하기 위해 외부 프로그램을 실행할 수 있다.
  • CGI 프로그램은 웹 서버가 클라이언트로부터 요청을 받을 때마다 실행되며, 그 결과를 웹 서버가 클라이언트에게 전달한다.

CGI 특징

  1. 독립적 언어
    • CGI 프로그램은 다양한 언어로 작성될 수 있다.
  2. 프로세스 기반
    • 요청마다 새로운 프로세스를 생성하여 실행되므로 오버헤드가 크다.
  3. 보안
    • 잘못된 CGI 프로그램은 보안 문제를 초래할 수 있다.
  4. 구현
    • CGI 프로그램은 서버 측에서 동작하며 클라이언트와의 상호작용은 웹 서버를 통해 이루어진다.

Web Server

  • 웹 서버는 클라이언트(주로 웹 브라우저)로부터 HTTP 요청을 받아들이고, 그에 따라 HTTP 응답을 제공하는 서버이다. 웹 서버는 정적인 파일(HTML, CSS, JavaScript, 이미지 등)을 제공하거나, CGI나 서버 측 스크립팅을 통해 동적인 콘텐츠를 생성할 수 있다.

MIME Type(Multipurpose Internet Mail Extensions)

  • MIME 타입은 인터넷에서 파일 형식을 식별하기 위해 사용된다.
  • 웹 서버는 클라이언트에게 파일을 전송할 때 파일의 MIME 타입을 포함하여 전송한다. 이를 통해 클라이언트는 해당 파일을 어떻게 처리할지 결정할 수 있다.

MIME 타입의 구조

  • MIME 타입은 주 타입과 서브 타입으로 구성된다.

HTTP

  • HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간의 통신을 위한 프로토콜이다.
  • 주로 웹 브라우저와 웹 서버 간의 통신에 사용되며, 요청/응답 모델을 따른다.

HTTP 요청(Request)

  • HTTP 요청은 클라이언트가 서버에 데이터를 요청하거나 데이터를 전송할 때 사용된다.
  • 요청은 메소드, URL, 헤더, 본문으로 구성된다

HTTP 응답(Response)

  • HTTP 응답은 서버가 클라이언트의 요청에 대해 반환하는 데이터이다.
  • 응답은 상태 라인, 헤더, 본문으로 구성된다.

HTTP 헤더

  • HTTP 헤더는 요청이나 응답에 대한 부가 정보를 제공한다. 헤더는 일반 헤더, 요청 헤더, 응답 헤더, 본문 헤더로 분류된다.

HTTP 메소드

  • HTTP 메소드는 요청의 목적을 정의한다.
  • 주요 메소드
    1. GET : 서버에서 데이터 요청
    2. POST : 서버에 데이터를 제출
    3. PUT : 서버에 데이터를 업데이트합니다.
    4. DELETE : 서버에서 데이터를 삭제한다.
    5. HEAD : GET과 유사하지만, 응답 분문을 포함하지 않는다. 헤더만 반환
    6. OPTIONS : 서버가 지원하는 메소드를 확인한다.
    7. PATCH : 서버에서 데이터의 일부를 수정합니다.

HTTP 상태 코드

  • HTTP 상태 코드는 요청의 처리 결과를 나타낸다.
  • 주요 상태 코드
    1. 1XX(정보) : 요청을 받았으며, 작업을 계속한다.
    2. 2XX(성공) : 요청이 성공적으로 처리됐다.
    3. 3XX(리다이렉션) : 요청 완료를 위해 추가 작업이 필요하다.
    4. 4XX(클라이언트 오류) : 클라이언트의 요청에 오류가 있다.
    5. 5XX(서버 오류) : 서버에서 요청을 처리하는 중 오류가 발생했다.

HTTP HEAD 메소드

  • HEAD 메소드는 GET 메소드와 유사하지만, 응답 본문을 반환하지 않는다. 클라이언트는 응답 헤더를 통해 리소스의 메타데이터를 확인할 수 있다.
728x90

'Study > TIL(Today I Learned)' 카테고리의 다른 글

24.06.11 C++  (0) 2024.06.12
24.06.10 복습  (1) 2024.06.10
24.06.08 복습  (0) 2024.06.10
24.06.07 복습  (0) 2024.06.07
24.06.06 복습  (0) 2024.06.07