Commit d20186a7 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

I have too many ideas of what to mention in this docs

parent b2805188
Loading
Loading
Loading
Loading
+43 −11
Original line number Diff line number Diff line
@@ -238,9 +238,9 @@ When It Doesn't Work
 compiler name and version etc.

 Getting some in-depth knowledge about the protocols involved is never wrong,
 and if you're trying to funny things, you might very well understand libcurl
 and how to use it better if you study the appropriate RFC documents at least
 briefly.
 and if you're trying to do funny things, you might very well understand
 libcurl and how to use it better if you study the appropriate RFC documents
 at least briefly.


Upload Data to a Remote Site
@@ -558,22 +558,24 @@ Proxies

  SSL and Proxies

    SSL is for secure point-to-point connections. This envolves strong
    SSL is for secure point-to-point connections. This involves strong
    encryption and similar things, which effectivly makes it impossible for a
    proxy to operate as a "man in between" which the proxy's task is as
    proxy to operate as a "man in between" which the proxy's task is, as
    previously discussed. Instead, the only way to have SSL work over a HTTP
    proxy is to ask the proxy to tunnel trough everything without being able
    to check the traffic.
    to check or fiddle with the traffic.

    Opening an SSL connection over a HTTP proxy is therefor a matter of asking
    the proxy for a straight connection to the target host on a specified
    port. This is made with the HTTP request CONNECT.
    port. This is made with the HTTP request CONNECT. ("please mr proxy,
    connect me to that remote host").

    Because of the nature of this operation, where the proxy has no idea what
    kind of data that is passed in and out through this tunnel, this
    effectively breaks some of the pros a proxy might offer, such as caching.
    Many organizations prevent this kind of tunneling to other destination
    port numbers than 443 (which is the default HTTPS port number).
    kind of data that is passed in and out through this tunnel, this breaks
    some of the very few advantages that come from using a proxy, such as
    caching.  Many organizations prevent this kind of tunneling to other
    destination port numbers than 443 (which is the default HTTPS port
    number).

  Tunneling Through Proxy

@@ -595,6 +597,11 @@ Proxies

       curl_easy_setopt(easyhandle, CURLOPT_HTTPPROXYTUNNEL, TRUE);

    In fact, there might even be times when you want to do plain HTTP
    operations using a tunnel like this, as it then enables you to operate on
    the remote server instead of asking the proxy to do so. libcurl will not
    stand in the way for such innovative actions either!

  Proxy Auto-Config

    Netscape first came up with this. It is basicly a web page (usually using
@@ -621,6 +628,28 @@ Proxies
    - Ask your admins to stop this, for a static proxy setup or similar.


Persistancy Is The Way to Happiness

 [ re-use connections, options that control/disable this, the effect on
   protocols such as FTP, why this is Good For You ]


Customizing Operations

 [ custom requests, custom headers, replacing headers, custom FTP commands
   before transfer, after transfer and without transfer ]


Headers Equal Fun

 [ use the header callback for HTTP, FTP etc ]


Post Transfer Information

 [ curl_easy_getinfo ]


Security Considerations

 [ ps output, netrc plain text, plain text protocols / base64 ]
@@ -628,9 +657,12 @@ Security Considerations

SSL, Certificates and Other Tricks

 [ seeding, passwords, keys, certificates, ENGINE, ca certs ]


Future

 [ multi interface, sharing between handles, mutexes, pipelining ]


-----