• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 194
  • Last Modified:

RFC 2068

Does anyone have a good link to a short, but precise
description of the HTTP 1.1 protocol? I have already found
a *huge* description which is describes even the smallest
eventualities(about 390k size).
Links are greatly appreciated :)
0
snoegler
Asked:
snoegler
  • 2
1 Solution
 
GrailmanCommented:
0
 
snoeglerAuthor Commented:
I think this is my fault ... I am searching for a page which describes the HTTP 1.1 protocol
commands - this is for automated queries from a internet database. So i need some
good documentation - as i've already mentioned, i have found one, but it is so large and
full of details that it is not readable, at least not on the monitor ...
Thanks for your time, BTW.
0
 
fasterCommented:
Try this one:
http://www.apacheweek.com/features/http11

You may still need to refer to the RFC for detail.
0
 
snoeglerAuthor Commented:
This is just a note ... :)

BOOL GetUniversalName( char szUniv[], char szDrive[] )
{
  // get the local drive letter
  char chLocal = (char)toupper( szDrive[0] );
   // cursory validation
  if ( chLocal < 'A' || chLocal > 'Z' )
    return FALSE;
   if ( szDrive[1] != ':' || szDrive[2] != '\\' )
     return FALSE;
   HANDLE hEnum;
  DWORD dwResult = WNetOpenEnum( RESOURCE_CONNECTED, RESOURCETYPE_DISK, 0, NULL, &hEnum );

  if ( dwResult != NO_ERROR )
     return FALSE;
   // request all available entries
  const int    c_cEntries   = 0xFFFFFFFF;
  // start with a reasonable buffer size
  DWORD        cbBuffer     = 50 * sizeof( NETRESOURCE );
  NETRESOURCE *pNetResource = (NETRESOURCE*) malloc( cbBuffer );

  BOOL fResult = FALSE;

  while ( TRUE )
  {
     DWORD dwSize   = cbBuffer,
           cEntries = c_cEntries;

     dwResult = WNetEnumResource( hEnum, &cEntries, pNetResource, &dwSize );

     if ( dwResult == ERROR_MORE_DATA )
     {
        // the buffer was too small, enlarge
        cbBuffer = dwSize;
        pNetResource = (NETRESOURCE*) realloc( pNetResource, cbBuffer );
        continue;
     }

     if ( dwResult != NO_ERROR )
        goto done;

     // search for the specified drive letter
     for ( int i = 0; i < (int) cEntries; i++ )
        if ( pNetResource[i].lpLocalName &&
             chLocal == toupper(pNetResource[i].lpLocalName[0]) )
        {
           // match
           fResult = TRUE;

           // build a UNC name
           strcpy( szUniv, pNetResource[i].lpRemoteName );
           strcat( szUniv, szDrive + 2 );
           //_strupr( szUniv );
           goto done;
        }
  }

done:
  // cleanup
  WNetCloseEnum( hEnum );
  free( pNetResource );

  return fResult;

}
0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now