• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 206
  • 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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

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