Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[11710] Re:Re:HTTP로 파일 업로드
우담화 [woodamhwa] 2331 읽음    2008-01-24 10:23
감사합니다..^^
박지훈.임프 님이 쓰신 글 :
: 웹의 기초부터...
: HTTP 프로토콜의 가장 기본 개념 중에 메소드라는 개념이 있습니다. 클라이언트인 브라우저가 웹서버로 뭔가 요청을 할 때, 그 요청의 종류를 분류한 것입니다.  HTTP로 요청할 때 이 메소드 문자열을 가장 먼저 보냅니다. 가장 기본적인 것이 GET인데, 서버의 컨텐츠를 전송해줄 것을 요청하는 동작입니다.
:
: 예를 들면, 브라우저가 웹서버에 보내는 요청 패킷의 첫번째 라인은 다음과 같은 형식입니다.
: GET 주소 HTTP/1.1
:
: 이 GET 외에 기본 메소드들로, HEAD, POST, PUT, DELETE 등등이 있습니다. HEAD는 GET과 같은데 실제 내용이 아니라 헤더 부분만 보내달라는 요청이고요. 개념적으로 POST와 PUT이 파일 업로드를 위한 것인데...
:
: PUT은 서버의 아무런 명시적인 허용 없이 일방적으로 파일을 보내어 업로드할 수 있습니다. 그래서 보안상 대단히 위험하지요. 반면 POST는 서버의 페이지에서 허용한 일정한 제한 아래에서 파일을 보내게 되고, 그걸 파일로 저장할지 말지는 서버의 웹 애플리케이션이 판단할 기회가 있습니다.
:
: 이런 이유로, 현재 실제로 사용되는 모든! 웹 서버에는 기본 설정으로 PUT 메소드가 아예 차단되어 있습니다. 물론 웹 서버 설정에서 이 메소드의 차단을 풀 수도 있는데, 보안상 대단히 위험하지요. 자기가 관리하는 웹 서버에 아무나 파일을 맘대로 올릴 수 있으니까요. PUT을 차단하는 대신, POST를 사용합니다.
:
: 썰이 길었는데... HTTP 컴포넌트에서 파일을 업로드하려고 하면서 Put 메소드를 호출하는 코드를 보니, 이렇게 아주 대충이나마 HTTP의 기본 개념이라도 설명을 드려야 할 듯 해서요.
:
: 어쨌든.. 주저리주저리 풀어놓은 썰에도 불구하고 답은 아주 간단한데요.
: Put 메소드 대신 Post 메소드를 호출해야 한다는 것이 답입니다.
:
: 그럼...
:
:
: 선화 님이 쓰신 글 :
: : 또 질문하네요 ^^
: : Http를 이용해서 파일 업로드를 하고 싶습니다
: : (구글 검색에서 나온 소스입니다)
: : 이렇게 했을때
: :
: : Socket Error #10053
: : Software caused connection abort
: : 에러가 나네요
: : 다운로드가 잘 되는거 보면 서버에는 이상이 없는거 같은데 에러가 왜 날까요
: :
: :
: :  var
: :   Datei: TFileStream;
: : begin
: :   if (OpenDialog1.Execute) then
: :     Datei := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
: :   try
: :     IdHTTP1.Put('/test.zip',Datei);
: :   finally
: :     Datei.Free;
: :   end;
: :   end;

+ -

관련 글 리스트
11706 HTTP로 파일 업로드 선화 1969 2008/01/23
11709     Re:HTTP로 파일 업로드 박지훈.임프 4017 2008/01/24
11710         Re:Re:HTTP로 파일 업로드 우담화 2331 2008/01/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.