In a nutshell, the Internet of Things is the concept of connecting any device (so long as it has an on/off switch) to the Internet and to other connected devices. The IoT is a giant network of connected things and people – all of which collect and share data about the way they are used and about the environment around them.
The Internet of Things is actually a pretty simple concept, it means taking all the things in the world and connecting them to the internet.
There are three key elements of IoT:
Devices — Rather than conventional devices like smartphones and computers, “devices” in IoT can be anything from a toaster to complex machines in industries.
Data — This is where IoT holds its value. Data is of utmost importance, as this is the basis for intelligent decision making.
Connectivity – Obviously, the devices require some sort of network connection to communicate. There are a bunch of network architectures available today, which can be used for seamless transmission of data. A lot of IoT-specific networks are also in the works.
Why IoT Matters?
In short words, IoT will improve our life quality and productivity in an amazing way. In next 5 to 10 years, as the 5G network being deployed to every corner of our world, IoT will be part of daily life and generate a lot of business opportunities and job positions. So it is never too late to learn IoT technology in the coming smart society.
HTTP stands for Hyper Text Transfer Protocol.
Internet (or The Web) is a massive distributed client/server information system as depicted in the following diagram.
Many applications are running concurrently over the Web, such as web browsing/surfing, e-mail, file transfer, audio & video streaming, and so on. In order for proper communication to take place between the client and the server, these applications must agree on a specific application-level protocol such as HTTP, FTP, SMTP, POP, and etc.
World Wide Web Communication
The World Wide Web is about communication between web clients and web servers.
Clients are often browsers (Chrome, Edge, Safari), but they can be any type of program or device.
Servers are most often computers in the cloud.
HyperText Transfer Protocol (HTTP)
HTTP (Hypertext Transfer Protocol) is perhaps the most popular application protocol used in the Internet (or The WEB).
HTTP is an asymmetric request-response client-server protocol as illustrated. An HTTP client sends a request message to an HTTP server. The server, in turn, returns a response message. In other words, HTTP is a pull protocol, the client pulls information from the server (instead of server pushes information down to the client).
HTTP is a stateless protocol. In other words, the current request does not know what has been done in the previous requests.
HTTP permits negotiating of data type and representation, so as to allow systems to be built independently of the data being transferred.
Quoting from the RFC2616: “The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers.”
HTTP Request / Response
Communication between clients and servers is done by requests and responses:
A client (a browser) sends an HTTP request to the web
An web server receives the request
The server runs an application to process the request
The server returns an HTTP response (output) to the browser
The client (the browser) receives the response
HTML is the standard markup language for creating Web pages.
HTML stands for Hyper Text Markup Language
HTML describes the structure of a Web page
HTML consists of a series of elements
HTML elements tell the browser how to display the content
HTML elements are represented by tags
HTML tags label pieces of content such as “heading”, “paragraph”, “table”, and so on
Browsers do not display the HTML tags, but use them to render the content of the page