HTTP
HTTP
Basic Features
There are three basic features that make HTTP a simple but powerful protocol:
HTTP is connectionless: The HTTP client, i.e., a browser initiates an HTTP
request and after a request is made, the client waits for the response. The server
processes the request and sends a response back after which client disconnect
the connection. So client and server knows about each other during current
request and response only. Further requests are made on new connection like
client and server are new to each other.
HTTP is media independent: It means, any type of data can be sent by HTTP
as long as both the client and the server know how to handle the data content.
It is required for the client as well as the server to specify the content type
using appropriate MIME-type.
HTTP is stateless: As mentioned above, HTTP is connectionless and it is a
direct result of HTTP being a stateless protocol. The server and client are
aware of each other only during a current request. Afterwards, both of them
forget about each other. Due to this nature of the protocol, neither the client
nor the browser can retain information between different requests across the
web pages.
HTTP/1.0 uses a new connection for each request/response exchange, where as HTTP/1.1
connection may be used for one or more request/response exchanges.
Basic Architecture
The following diagram shows a very basic architecture of a web application and depicts
where HTTP sits:
The HTTP protocol is a request/response protocol based on the client/server based
architecture where web browsers, robots and search engines, etc. act like HTTP clients, and
the Web server acts as a server.
Client
The HTTP client sends a request to the server in the form of a request method, URI, and
protocol version, followed by a MIME-like message containing request modifiers, client
information, and possible body content over a TCP/IP connection.
Server
The HTTP server responds with a status line, including the message's protocol version and a
success or error code, followed by a MIME-like message containing server information,
entity meta information, and possible entity-body content.
What is UPnP?
UPnP (Universal Plug and Play) is a networking protocol that enables devices to discover
each other and connect without the need for manual configuration or user intervention. The
protocol automates all the steps necessary for recognition and communication between
devices on the same network.
The main goal of UPnP is to provide an automated way for adding and connecting new
hardware to a local network. The protocol enables a device to join the network by:
Setting up the device's IP address.
Broadcasting the device's name and capabilities to the rest of the network.
Informing the new piece of hardware about the capabilities of other connected devices.
Enabling network devices to communicate and function in tandem.
CoAP message
header Description
It is 8 bit unsigned integer, It is split into two parts viz. 3 bit class
Code (MSBs) and 5 bit detail (LSBs).
XMPP Protocol
XMPP is a short form for Extensible Messaging Presence Protocol. It’s
protocol for streaming XML elements over a network in order to exchange
messages and presence information in close to real time. This protocol is
mostly used by instant messaging applications like WhatsApp.
Let’s dive into each character of word XMPP:
X : It means eXtensible. XMPP is a open source project which can
be changed or extended according to the need.
M : XMPP is designed for sending messages in real time. It has
very efficient push mechanism compared to other protocols.
P : It determines whether you are online/offline/busy. It indicates
the state.
P : XMPP is a protocol, that is, a set of standards that allow
systems to communicate with each other.
These are the basic requirements of any Instant Messenger which are
fulfilled by XMPP:
1. Send and receive messages with other users.
2. Check and share presence status
3. Manage subscriptions to and from other users.
4. Manage contact list
5. Block communications(receive message, sharing presence status,
etc) to specific users.
Eavesdropping
IoT users would also have to find eavesdropping as one of the ominous answers to ‘What
are the privacy concerns in IoT?’ for specific reasons. Imagine a hacker using one of
your smart home appliances to snoop in your personal life. As a matter of fact, hackers and
even manufacturers could use a connected device to basically invading an individual’s home.