> For the complete documentation index, see [llms.txt](https://alfredo-reyes-montero.gitbook.io/iot-bosch/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alfredo-reyes-montero.gitbook.io/iot-bosch/devices/bosch-xdk-110/protocols/https.md).

# HTTPS

HTTPS (HyperText Transfer Protocol Secure) is a data transfer protocol that runs on top of the TCP/IP protocol stack. Regarding the transmission of data, HTTPS uses the same technologies and paradigms as HTTP, but unlike plain HTTP it has an extra layer for encryption.This additional layer handles digital certificates that are used for authentication via a socket by using the protocols SSL (Secure Socket Layer) or TLS (Transport Layer Security). The default port for HTTPS is the port 443.

Since the XDK is equipped with a Texas Instruments CC3100 Wi-Fi chip, the XDK comes with the TI Simple Link API that provides a low level access to the chip and also includes some other APIs, like the socket interface, which is necessary for implementing an HTTPS connection.

## Functions

| Function       | Description                                                                                                                                                                                                                      |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| sl\_Socket     | Create a socket instance. Returns a handle for the created socket (in form of an integer identifier)                                                                                                                             |
| sl\_SetSockOpt | Generic function for setting any options for the passed socket. This section will show how to set the certificate and the secure method with this function. See the API documentation to learn which other settings can be made. |
| sl\_Connect    | Use this function to open the socket connection.                                                                                                                                                                                 |
| sl\_Close      | Use this function to close the socket connection.                                                                                                                                                                                |
| sl\_Send       | Use this function to send a request via the given socket.                                                                                                                                                                        |
| sl\_Recv       | Use this function to receive data from the given socket.                                                                                                                                                                         |
