+#define HTTP_DEFAULT_PORT 80
+#define HTTPS_DEFAULT_PORT 443
+
+/**
+ * Bits in the `options` field of HTTP addresses.
+ */
+enum HttpAddressOptions
+{
+ /**
+ * No bits set.
+ */
+ HTTP_OPTIONS_NONE = 0,
+
+ /**
+ * Verify X509 server certificate, it should be valid.
+ * (if this bit is not set, it is probably just self-
+ * signed and not expected to be verified).
+ */
+ HTTP_OPTIONS_VERIFY_CERTIFICATE = 1,
+
+ /**
+ * Enable TCP Stealth-style port knocking.
+ */
+ HTTP_OPTIONS_TCP_STEALTH = 2
+};
+
+
+GNUNET_NETWORK_STRUCT_BEGIN
+
+/**
+ * HttpAddress
+ */
+struct HttpAddress
+{
+ /**
+ * Address options
+ * see `enum HttpAddressOptions`
+ */
+ uint32_t options GNUNET_PACKED;
+
+ /**
+ * Length of URL located after struct
+ */
+ uint32_t urlen GNUNET_PACKED;
+};
+
+GNUNET_NETWORK_STRUCT_END
+
+/**
+ * Representation of HTTP URL split into its components.
+ */
+struct SplittedHTTPAddress
+{
+ char *protocol;
+ char *host;
+ char *path;
+ int port;
+};
+
+
+/**
+ * Split an HTTP address into protocol, hostname, port
+ * and path components.
+ */
+struct SplittedHTTPAddress *
+http_split_address (const char *addr);
+
+