The Internet of Things (IoT) can be considered as a modern manifestation of Mark Weiser's classic vision of ubiquitous computing where tiny networked computers become part of everyday objects interweaving the virtual world and the physical world. The concept of the IoT originated some 15 years ago from linking real-world artifacts to virtual counterparts through radio-frequency identification (RFID) tags. More recently, environments have become ‘smart' by augmenting physical objects with sensing or actuation capabilities and networking them with digital services. The ongoing standardization of Internet protocols for such IoT devices enables the seamless integration of smart things into the Internet. This trend is expected to eventually result in hundreds of billions of connected devices that need to be programmed, managed, and maintained. It has been shown that Web technology can significantly ease this process by providing well-known patterns and tools for developers and users. The existing solutions are, however, often too heavyweight for highly resource-constrained IoT devices. Indeed, most connected devices are expected to remain resource-constrained, as progress in technology witnessed by Moore's Law is primarily leveraged to minimize dimensions, power consumption, and unit costs. This dissertation presents a comprehensive solution for the seamless integration of highly resource-constrained IoT systems into the World Wide Web. Our thesis is that existing protocols and programming models do not effectually meet the needs of the IoT. We identify two key challenges for the vision to succeed: application-layer interoperability and improved usability for both developers and users. Both requirements can be met by an approach that amalgamates results from the field of Wireless Sensor Networks and the World Wide Web. This leads to the research questions (i) how to scale Web technology down to resource-constrained devices, (ii) how to scale it up to hundreds of billions of devices, and (iii) how to use it to improve the usability of the tiny networked computers. Our work addresses the resulting challenges with the following contributions: Being actively involved in the design and standardization of the Constrained Application Protocol (CoAP) within the Internet Engineering Task Force (IETF), we (i) evaluate the new Web protocol in the different components of IoT systems, namely resource-constrained devices, Cloud-based services, and user interaction. Based on this, we (ii) propose system architectures and guidelines for an optimal implementation and utilization of CoAP. Furthermore, we (iii) present concepts and tools for Web-like software development for the IoT. To support our thesis, we also (iv) provide working open source implementations of our concepts, which build the basis for several IoT projects in academia and industry. More concretely, we show in this dissertation that the CoAP protocol suite closes the technological gap between low-power IoT devices and the well-known patterns of the Web. We first consider resource-constrained environments, where efficient Web technology can relieve application developers from the burdens of embedded programming while maintaining the performance of classic approaches. In addition to a proof of concept and system evaluation, we give guidelines that allow for significantly smaller memory footprints of CoAP implementations. Next, we show that the low overhead of the new protocol also improves performance in unconstrained environments, such as IoT cloud services that have to manage the myriad of IoT devices. We present a system architecture for scalable back-end services that outperforms classic high-performance Hypertext Transfer Protocol (HTTP) Web servers as well as other state-of-the-art CoAP implementations. Finally, our work evaluates usability aspects of the Web programming model for IoT applications. We show that Web mashups, that is, the linking of different services through lightweight scripting, are also directly applicable to our concepts for highly resource-constrained systems. Complementary, we study Web browser support for CoAP to fully close the gap between IoT devices and the Web. Based on these findings, we motivate the design decisions behind CoAP, in particular for our contributions, and explain how developers can improve their protocol implementations accordingly. Along with this dissertation, we deliver open source implementations of our approach that go beyond prototypes. Our Erbium (Er) REST Engine is an optimized CoAP implementation for constrained environments. It provides application developers with resource handler abstractions like regular Web frameworks while maintaining a small memory footprint. Erbium became the default CoAP implementation for Contiki, a popular embedded operating system for the IoT that is used in many industry products. Our Java-based Californium (Cf) CoAP framework enables high-performance CoAP services. The project also contains a DTLS 1.2 implementation called Scandium (Sc) and the Actinium (Ac) application server, a RESTful runtime system for Web-like IoT mashups. Representing the state of the art for RESTful IoT services, the Californium project was adopted by the Eclipse Foundation within its IoT Industry Working Group.