응용프로그램 업데이트 할때

bluebird의 이미지

프로그램 업데이터를 만드려고 합니다.

제가 궁금한 것은,

과연 파일을 다운로드 받을때

http 가 좋을지 ftp 가 좋을지 입니다.

ftp 야 원래 파일 전송을 위해 만들어졌다고는 하나, 요즘 보니 http를 통한 업데이트가 더 많은거 같아서요...

어떤 장단점이 있는지요?

그리고,

client 는 windows 가 되는데요...

기본적인 설계는 현재날짜와 제품 코드를 webserver 에 지정된 page 에 인자로 넘기고, 서버에 있는 DB에서 날짜와 제품코드를 보고 다운받아야 할 목록을 webpage 에 뿌리는 겁니다.

그러면 그 목록을 가져와서 ftp 또는 http 로 파일을 다운받으려고 하는데요...

혹시 이미 구현하신 분들 중이 더 심플한 방법이 있으면 가르쳐 주세요.

하늘이 순식간에 가을하늘이 되어버렸네요.

날씨만큼 좋은 하루 하루 되시길 바랍니다.

감사합니다.

espereto의 이미지

전 HTTP를 썼었습니다. FTP 데몬을 추가로 돌리거나 설정하거나 할 필요가 없으니까요.

목록은 텍스트를 HTTP로 주욱 전송하면, 그 목록을 클라이언트가 받아서 파싱한 다음, 다시 HTTP로 다운받을 파일들에 대해 요청을...... 뭐 그런 식으로 했었지요.

bluebird의 이미지

먼저 답변 감사드립니다.

근데요, FTP 데몬을 추가로 돌리거나 설정하거나 하는 것은 한번만 해주면 될거 같은데요...

만일, ftp Daemon 을 돌리는 번거로움이나 설정의 귀찮음이 없다면, ftp 를 사용하셨겠나요?

음...

좀 더 구체적인 장단점 뭐 이런건 없을까요? ^^

감사합니다.

espereto의 이미지

일단 FTP를 사용하는 것에 대해 단점을 말씀드리자면...

1. 클라이언트에서 FTP에 대한 추가 구현
2. 일반적인 FTP 클라이언트들로 접근하는 것을 허용해야 하는가 말아야 하는가에 대한 고민
3. 만일, 인증된 사용자만 접속 및 다운로드가 가능해야 하는 경우 그렇게하게 하기가 까다롭다
4. 기타, 서버측의 어떤 기능들과 연계시키고자 하는 경우에 좀 까다로워질 수 있다.

이 정도이고...

장점은, 파일 전송에 있어 오버헤드가 적다는 점이겠죠.

그러나, 오버헤드 문제는 HTTP가 비록 텍스트 기반의 프로토콜이어서 바이너리 파일 전송에서 FTP보다 좀 불리해 보일 수 있지만, 다양한 인코딩 방법들이 있고, 이들을 잘 쓰면 오버헤드는 그다지 많지 않습니다. HTTP 헤더 정도?

그리고, 서버측 스크립트들(PHP나 ASP, JSP 등등)과 연동시켜야 할 경우 FTP로 분리되어 있는 것 보다 관리나 기능 연계에 있어 좀 더 유리합니다.

클라이언트 구현도 프로토콜 하나를 덜 구현해도 되니까, 구현해야 할 기능이 줄어들고, 더불어 구현해야 할 코드량도 줄어들고, 버그나 오류의 발생 확률도 좀 더 줄겠죠. :-)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.