The views expressed on this weblog are mine alone and do not necessarily reflect the views of my employer.
 Wednesday, July 09, 2003
HTTP, HEAD, and Range Requests...

Venkat writes that he has a text file (CSV) containing over 50,000 URLs. “I want to run a program that will take this file as input and output a text file which contains only the valid URLs. Basically I need a URL/Link Validator that can perform this job.  I tried to put together a custom C# program to do this, but it takes several minutes just to do a hundred URL. Is there any program/code you are aware that can do this?”

I recommended a Range Retrieval Request, such as those used by GETRIGHT. 
GetRight uses a Range Retrieval Request, like this.  You can do this in .NET by just adding the name/values for Range to the Headers collection.  NOTE: The Server CAN (and many will) ignore this request.   If you get partial content, you won’t get an OK 200, you’ll get a 206 and the Content-Length will have the amount of data included. 

However, another fellow, more clever than myself wrote me to say that a HEAD (rather than a GET) should provide enough information - namely the headers - to determine page existance, without the trouble of the HTTP Body Content.  Good stuff!

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2
http://www.vbip.com/winsock/winsock_http_08_01.asp


Updated Link to this post 5:31:28 PM  #    comment []  trackback []
The 'Net before the 'Net...for me at least
Had a nice lunch at the O'Reilly Open Source Conference with Gunther Birznieks.  He's got offices in Singapore and we've got offices in Malaysia (I'll be there in August) and his company has worked with our company.  He was speaking at the conference but we really got to talking and somehow ended up on BBSs, and he mentioned that he wrote CBASE 64 a legendary and oft copied BBS for the, you guessed it, Commodore 64.  I have 3 C64s, 2 1541 drives and a 1501 monitor in my garage...perhaps it's time to fire it up and do some 2400bps war dialing? ;) 
Updated Link to this post 5:23:46 PM  #    comment []  trackback []
Host Web Service Applications With Cassini: This is interesting and useful.

This IS interesting!  I show Cassini in all my Inside ASP.NET-type presentations.  Clearly we will see Cassini-like functionality in Web Matrix and VS.NET going forward…until then it’s nice to see folks putting System.Web.Hosting to good use…

Host Web Service Applications With Cassini: This is interesting and useful.[meta-douglasp]


Updated Link to this post 4:09:50 PM  #    comment []  trackback []
Thanks to the Seattle .NET Developer's Association...

Thanks to everyone at the Seattle .NET Developers Association.  I haven't done a lot of User's Group lately, but I had a blast at this one. 

  • Blunck's ieHTTPHeaders for seeing HTTP Headers within an IE Explorer Bar
  • A version of Zoomin, the screen magnifier, is included with Visual Studio 6.0, but there is a freeware version from Brian Friesen.  Both are great, and I actually prefer the flexiblity of Brian's.
  • The .NET IL Disassembler is called ILDASM.EXE and if you have the .NET SDK, this is installed on your system already in the Framework's BIN directory.  It's your best friend.
  • Lutz Roeder is a .NET Legend because of Documentor, Reflector, and Resourer.
  • Fritz Onion's ViewStateDecoder has gotten me out of a few jams.

    A much more complete list of tools is at my list of Web Services tools. One day I'll make a list of all the things in my UTILS folder and blog it.


  • Updated Link to this post 9:59:01 AM  #    comment []  trackback []