# HTTP

## Introduction

The **HTTP Nodes** provide a means for the user to perform several actions within the *HTTP* protocol. *HTTP*, or *Hypertext Transfer Protocol*, allows for communication between servers and clients by way of requests and responses using different methods.

The **HTTP Nodes** allow the user to set up a server or connect to an already existing server. To set up a server on the local machine in **Incari**, the user needs to locate the [**HTTP Attributes**](https://docs.incari.com/incari-studio/2022.2/modules/project-settings/http) in **Project Settings** and add a server. To connect to an external server, the **HTTP Client Node** should be used. Both *HTTP* and *HTTPS* are supported.

## HTTP Guideline

With the **HTTP Communication Nodes**, except the **HTTP Client Node**, the user can create a server on the local machine. From there, they can process requests and send respective responses as desired. With the **HTTP Client Node**, the user can make any request to any server.

The following guideline shows the steps needed for setting up a server on a local machine.

* To properly start a connection, see the [**General Guideline**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/..#general-guideline) on the Communications Introduction page.
* Once the connection has been established, there are a couple of **Nodes** that cover important functions of **HTTP Communication**.
  * [**On HTTP Route**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/http/events/onhttproute) executes when an **HTTP Request** from a specified **Route** is received.
  * [**HTTP Response**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/http/httpresponse) defines a response for a particular request.
* To properly stop a connection, see the [**General Guideline**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/..#general-guideline) on the Communications Introduction page.

## Contents

* [**Events**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/http/events)
  * [**On HTTP Route**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/http/events/onhttproute)
  * [**On HTTP Server Start**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/http/events/onhttpserverstart)
  * [**On HTTP Server Stop**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/http/events/onhttpserverstop)
* [**HTTP Client**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/http/httpclient)
* [**HTTP Response**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/http/httpresponse)
* [**HTTP Server Start**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/http/httpserverstart)
* [**HTTP Server Stop**](https://docs.incari.com/incari-studio/2022.2/toolbox/communication/http/httpserverstop)

## External Links

* More information on [*HTTP*](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) on Wikipedia.
* More information on [*HTTPS*](https://en.wikipedia.org/wiki/HTTPS) on Wikipedia.
