말감로그

CGI/Webserver/MIME Type 본문

이론/네트워크

CGI/Webserver/MIME Type

habbn 2024. 2. 23. 19:25
728x90

💡 웹 서버(Web Server)

클라이언트가 브라우저 주소창에 url을 입력하여 어떤 페이지를 요청하면, http 요청을 받아들여 HTML 문서와 같은 정적인 웹 페이지를 사용자에게 전달해주는 역할을 한다.

 

정적 웹 서버

  • 서버에 존재하는 이미 저장된 파일(HTML, CSS, 이미지, JavaScript 파일 )을 브라우저에게 전송
  • 서버에 저장된 데이터가 변경되지 않는 한 고정된 웹 페이지를 보게 된다.
  • ex) 배너 광고나 카테고리 등

동적 웹 서버

  • 정적 웹 서버와 어플리케이션 서버(AS)로 구성
  • AS는 웹 서버에서 처리하지 못하는 동적 데이터에 대응하기 위해 만들어진 어플리케이션 서버(데이터베이스 조회, 로직 처리 등)
  • ex) 마이 페이지, 장바구니 등

 WAS (Web Applcation Server)

  • 웹 서버 단독으로 처리할 수 없는 데이터 베이스의 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공해준다.
  • 인터넷상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어로 볼 수 있다.
  • 대표적인 웹 서버 -  Tomcat (자바 서블릿 실행하기 위한 서블릿 컨테이터 제공)

💡 CGI(Common Gateway Interace)

CGI는 위에서 설명한 AS(어플리케이션 서버) 개념과 유사하다.

  • 공통 게이트웨이 인터페이스의 약어로, 웹 서버에서 동적인 페이지를 보여주기 위해 임의의 프로그램을 실행할 수 있도록 하는 기술이다.

-> 웹 서버가 클라이언트에게 응답을 보내기 위해 사용자가 만든 어플리케이션과 통신 해야 하는데 그것을 도와주는 인터페이스라고 봄

 

https://lee-jua.github.io/posts/CGI-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EB%A7%9B%EB%B3%B4%EA%B8%B0/


✉️ MIME( Multipurpose Internet Mail Extensions)

  • Multipurpose Internet Mail Extensions의 약자로 간단하게 파일변환을 뜻한다.
  • 이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서 이메일 시스템을 통해서 전달하기 위해 개발되었다고 한다.
  • 현재는 웹을 통해서 여러 형태의 파일을 전달하는 데 사용되고 있다.

초기에는 UUEncode를 사용하여 인코딩하였다. 

 

UUEncode(Unix to Unix Encode)이란?

보통의 텍스트 파일을 컴퓨터 간 주고받을 때는 ASCII 공통 표준을 따르면 되므로 문제가 없지만, 네트워크를 통해 아스키가 아닌 바이너리 파일(음악, 그림, 영상 파일 등)들을 보내야 하는 상황이 생겼다. 

아스키와 같이 7비트를 사용하는 것이 아닌 8비트 모두 사용한다는 특징 때문에 8비트 데이터를 주고 받아야 하는 이슈가 생겼다. 따라서 바이너리 파일을 다시 7비트의 아스키 문자 데이터의 변환이 필요했다.

  • 바이너리 파일 -> 텍스트 파일 변환  - 인코딩 (Encoding)
  • 텍스트 파일 -> 바이너리 파일 변환  -  디코딩 (Decoding)

 

✉️ 그럼 MIME 왜 등장했어?

바로 UUEncode의 단점을 보완하기 위해 만들어졌다.

문서의 끝 부분의 공백이 사실 공백이 아니라 변환되어야 할 값인데 공백을 무시하는 시스템의 경우에 파일을 그대로 전달받을 수 없었다는 것 등등의 단점이 있었다.

 

MIME은 기존 UUEncode방식에는 없었던 Content-type 정보를 파일의 앞부분에 담을 수 있다.

'지금 전달하는 이 파일은 GIF 파일이다' 처럼 그 파일의 종류를 나타내는 딱지를 붙일 수 있었던 것이다. 

-> 브라우저는 데이터를 나타내는데 어떤 종류의 파일 스트림인지 알 수 있다.

 

Content-type?

  • 웹 서버에서 HTTP 통신을 통해 전달받은 요청의 Header 내에서, 해당 요청의 데이터 타입에 대한 정보를 나타낸다.

 

✉️ MIME type

  • 인터넷에 전달되는 파일 포맷 및 포맷 컨텐츠를 위한 식별자
  • type/subtype 구조

ex)

HTML 페이지에서 text/html

이미지 파일 image/jpeg , image/gif

음악 파일 audio/mpeg

어플리케이션 application/pdf

 

 

 

참조

 

 

정적 웹페이지와 동적 웹 페이지

1) 정적 웹 페이지와 동적 웹 페이지 인터넷을 이용하면서 접속하게 되는 웹 페이지는 크게 두 가지로 나뉘는데, 저장된 HTML 파일을 그대로 보는 정적 웹 페이지와 서버측 스크립트나 데이터베이

shuu.tistory.com

 

MIME-Type,Content-Type이란?

MIME이란?MIME이란? Multipurpose Internet Mail Extensions의 약자로 간략히 말씀을 드리면 파일 변환을 뜻한다.MIME는 이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서 이메일 시스템을 통해 전달하기

juyoung-1008.tistory.com

 

728x90

'이론 > 네트워크' 카테고리의 다른 글

[네트워크] 클라이언트-서버 모델  (0) 2024.02.23
[네트워크] TCP/UDP  (1) 2024.02.22
[네트워크] OSI 7계층, TCP/IP 4계층  (0) 2024.02.22