Using Http PUT method for file upload

The PUT method not as widely used as the POST method is the more efficient way of uploading files to a server. This is because in a POST upload the files need to be combined together into a multipart message and this message has to be decoded at the server. In contrast, the PUT method allows you to simply write the contents of the file to the socket connection that is established with the server.

When using the POST method, all the files are combined together into a single multipart/form-data type object. This MIME message when transferred to the server, has to be decoded by the server side handler. The decoding process may consume significant amounts of memory and CPU cycles for very large files.
The disadvantage with the PUT method is that if you are on a shared hosting enviorenment it may not be available to you. we need to enable the PUT verb for the server extension

Enable PUT on IIS web server:-
=========================
1. Select Virtual Directory  2.=> Properties 3.=> Configuration 4.=> Under Mappigs Tab - select extension (e.g. .aspx)=> add PUT in verb list.

The fundamental difference between the POST and PUT requests is reflected in the different meaning of the Request-URI. The URI in a POST request identifies the resource that will handle the enclosed entity. That resource might be a data-accepting process, a gateway to some other protocol, or a separate entity that accepts annotations. In contrast, the URI in a PUT request identifies the entity enclosed with the request.

Sample Code:-   Following code sample will be used to test the PUT method for Uploading the file, here ASP and VBScript is used in the sample, I'm using XmlHttpRequest object for making HttpRequest and getting the HttpResponse back from the web server.
refernces:- http://upload.thinfile.com/docs/put.php

<% @ language="VBScript" %><html>
<head>
<title>Upload</title>

This article is part of the GWB Archives. Original Author: Narendra Tiwari

New on Geeks with Blogs

  • We Won The One Award I Actually Care About

    Full Scale made the Inc. 5000 for the fifth year straight, the 12th listing across my three companies. Here is why the one award you cannot buy is worth stopping for.

  • Your Customers Build the Features Now

    I let a tool I liked sit dead for a year rather than build the features I wanted. An MCP server meant I never had to, and your customers can do the same to your product.

  • Get the Size of a Directory in Linux the Easy Way

    du -sh for the quick answer, ncdu for the cleanup, df for the disk itself: every command for checking directory size in Linux, plus why du and df never agree.

  • Vim Search and Replace: The Ultimate Guide

    One :%s command replaces every match in a file before a find dialog would even open. The Vim substitute patterns worth the muscle memory: flags, ranges, capture groups, and multi-file edits.