The boundary nodes form the globally distributed edge of the Internet Computer (IC) through which all the accesses to the canister smart contracts go. The boundary nodes provide a public endpoint for the IC and route all incoming requests to the right subnet, loadbalance requests across replica nodes, and cache responses for improved performance.
The boundary nodes provide two ways of accessing canister smart contracts hosted on the Internet Computer: first, one can access them using stock browsers through the HTTP gateway, and second, one can access them using API canister calls through the API boundary node.
The HTTP gateway allows users to access the dapps hosted on the IC through their browsers the same way they are used to accessing any Web 2.0 service. To this end, the HTTP gateway translates all incoming HTTP requests into API canister calls, which are then routed to the right subnet.
The API boundary node allows IC native applications to directly call the canister smart contracts. In this case, the boundary node simply routes the API canister calls to the right subnet. Hence, no trust is required between the user and the boundary node.
Both the HTTP gateway and the API boundary node are currently combined into the boundary node. Work to separate the two into two independent services is ongoing. Once complete, the API boundary nodes will be fully under the control of the NNS, while the HTTP gateways can be run by anyone in the community ensuring compliance with local jurisdictions. For more information check our updates in the forum.
In addition to the two endpoints, the boundary nodes provide to access the IC, the boundary nodes also provide caching to improve the performance of the dapps hosted on the IC.