Network library documentation
The network library (Necko) provides a platform-independent API for several layers of networking ranging from transport to presentation layers. This API is used in the Mozilla client and can be used for writing other networking clients.
For more information about Necko, its history, current development plans and where it is headed, read this page. You can also find the older documentation links off of this page.
about this document
general information -- information about the project
code -- where to get the code, how to build it, etc.
core documentation -- learning and using the library.
slides -- slides from various presentations.
contacts and contributors -- who maintains this.
general information
Here are different ways of getting information about this project:
- web -- All of the project documentation is available at http://mozilla.org/projects/netlib/
- code -- Browse our code in its latest state at http://lxr.mozilla.org/seamonkey/source/netwerk/
- faq -- Here are the frequently asked questions about network library
- newsgroup -- news://news.mozilla.org/netscape.public.mozilla.netlib
- irc -- You can find several of our key contacts for this project on IRC in #mozilla at irc://moznet
If you are interested in using Necko in your application, please first read this document.
code
Currently the library is built as part of the mozilla distribution. You can get the whole distribution as described elsewhere on this site. Eventually we'd like to move to a binary distribution mechanism for the networking library so that you can build your application that uses this library without having to build mozilla. For now you will have to checkout the mozilla tree and at the very least build NSPR, and XPCOM before building this library.
core documentation
Here is the real list:
- An introduction to the main Necko interfaces
- An overview of multithreading in Necko
- URIs and URLs
- Event Queues
- DNS
- Requests and Loadgroups
- Transports
- File Transport
- Socket Transport
- Channels
- Protocol Handlers
- HTTP ( class overview | transaction model | caching | pipelining | logging )
- FTP
- Gopher
- Finger
- Cache
- Proxies and Proxy Auto Config
- Stream Convertors
- Link Prefetching FAQ
- Guidelines for triaging necko bugs
- MIME Type determination in Mozilla
- Downloads
- application/http-index-format format description
slides
From time to time we've given various talks on necko...
- Gagan's presentation at last year's O'reilly OpenSource Conference (requires Mozilla or Netscape 6+ to view).
- Darin's necko presentation on 2002/02/18 in the pit (requires Mozilla or Netscape 6+ to view).
- Darin's proxy presentation on 2003/02/04 in the pit (requires Mozilla or Netscape 6+ to view).
contacts and contributors
There have been contributors to the success of this library and in case we have forgotten someone's name please let us know. Here are some of the key contributors who have at some stage been involved with the development or the design on this library.
Active contributors:
- Christian Biesinger [cbiesinger at gmx dot at] - module owner
- Doug Turner [dougt at meer dot net] - peer, ftp
- Boris Zbarsky [bzbarsky at mit dot edu] - peer
- Andreas Otte [andreas dot otte at debitel dot net] - URI/URL parsing
- Christopher Nebergall [cneberg at gmail dot com] - authentication
- Alfred Kayser [alfredkayser at nl dot ibm dot com] - cache, libjar
Former contributors:
- Bradley Baetz
- Darin Fisher
- Warren Harris
- Neeti Jain
- Suresh Kasinathan
- Rick Potts
- Gagan Saksena
- Hubert Shaw
- Gordon Sheridan
- John Taylor
- Judson Valeski