Note 01 PDF
Note 01 PDF
Introduction
Course Contents
• Web Technologies
• Information Architecture
• Web Development
• Vulnerabilities
2/12/2020 2
Course Evaluation
• No of Credits : 2 Credit
• Assessments : 40 % (3 Assessments)
• End Exam : 60 %
2/12/2020 3
Introduction to Computer Networks
• Computer Network
• A set of computers connected together for the purpose of sharing resources.
2/12/2020 4
Components of a Network
• Transmission media
• wires, cables, wifi…
• Hardware devices
• routers, switches…
• Software components
• protocol stacks, drivers…
2/12/2020 5
Network Models
• Client / Server Model
• Peer-to-Peer Model
2/12/2020 6
Client Server Networks
2/12/2020 7
Client & Server
• Client
• A software that requests services.
• The computer on which the client software runs is called the Client
Computer.
• Server
• A software that supplies services to the clients.
• The computer on which the server software runs is called the
Server Computer.
2/12/2020 8
Client & Server
• Requests:
• Request to a file
• Request to a web page
• Request to access a database
• Request to use a hardware (printer, scanner, etc.)
2/12/2020 9
Client Server Networks
• A dedicated computer always works as the Server Machine.
• Usually the server computer is more powerful than client computers.
• It has a higher speed
• Larger memory (RAM)
• Larger hard disk space
• All the client computers request the services from that server.
• In some networks there can be more than one server machine.
• All the resources are centralized around the server machine.
2/12/2020 10
Types of Servers
• There are different kind of Server Software.
• File Server: Manages all the files of the users in the network
• Web Server: Manages and supply web pages
• Database Servers: Provide access to a database
• Fax Server: Sending and receiving faxes
• Printer Server: Control access to a printer
• Email Server: Provides the email facility
• Once a server software is installed into a computer, that computer is
termed by using the software name.
• Ex: If File Server Software is installed into a computer that computer
is referred to as a “File Server”.
2/12/2020 11
Peer-to-peer Networks
• No dedicated computer as the server machine.
• Resources are decentralized – distributed among the computers in
the network.
• Any machine can act as the server for the resource that it hold at any
time.
• Every machine is called the peer machine.
2/12/2020 12
Types of Networks
• Local Area Networks (LAN)
• Metropolitan Area Networks (MAN)
• Wide Area Networks (WAN)
• Wireless Networks
• WLAN, WWAN, Mobile Networks (GSM, GPRS, …)
• The Internet
2/12/2020 13
Sending Data
• Data is sent in Packets (units of information carriage)
2/12/2020 14
Distributed Systems
• A system in which components located at networked computers
communicate and coordinate their actions only by passing messages.
• The primary purpose is to share resources.
(memory, processing power, files, databases)
• Examples:
• LAN, WAN, ATM networks, Distributed databases…
2/12/2020 15
Protocols
• Set of rules and formats to be used for communication between
processes in order to perform a given task.
• Should include specification of:
• Sequence of messages that must be exchanged.
• Format of the data in the messages.
• Implemented by pair of software modules in the sending and
receiving computers.
2/12/2020 16
Internet
• A computer network made up of thousands of networks worldwide.
• No one knows exactly how many computers are connected to the
Internet.
• It is certain, however, that these number in the millions and are
growing.
2/12/2020 17
Internet
• It is a “network of networks” that consists of millions of smaller
domestic, academic, business, and government networks, which
together carry various information and services.
• The Internet is a worldwide, publicly accessible network of
interconnected computer networks that transmit data by packet
switching using the standard Internet Protocol (IP).
2/12/2020 18
Internet
• No one is in charge of the Internet.
• There are organizations which develop technical aspects of this
network and set standards for creating applications on it, but no
governing body is in control.
• All computers on the Internet communicate with one another using
the Transmission Control Protocol/Internet Protocol suite,
abbreviated to TCP/IP.
2/12/2020 19
Internet Protocols
TCP/ IP Protocol Suite
• The TCP/IP protocol suite is the protocol architecture of the Internet.
• A model which is composed of five ordered layers:
• physical (layer1), data link (layer 2), network (layer 3), transport (layer 4), and
application (layer 5).
• Each layer defines a family of functions distinct from those of other
layers.
2/12/2020 20
TCP
• The TCP provides reliable, ordered delivery of a stream of bytes from
a program on one computer to another program on another
computer.
• TCP is the protocol on which major Internet applications such as the
World Wide Web, email, remote administration and file transfer rely
on.
• FTP (File Transfer Protocol) and HTTP like protocols are built on top of
TCP.
2/12/2020 21
TCP
• TCP is optimized for accurate delivery rather than timely delivery.
• Therefore, TCP sometimes incurs relatively long delays (in the order of
seconds) while waiting for out-of-order messages or retransmissions
of lost messages.
• It is not particularly suitable for real-time applications such as Voice
over IP.
2/12/2020 22
IP
• A connectionless protocol, which means that it is an unreliable
protocol.
i.e.
The IP is more concerned with sending a message to the correct
address than with whether the data actually makes it to that
receiver.
2/12/2020 23
Internet Service Provider (ISP)
• An Internet service provider (ISP) is an organization that provides
services for accessing and using the Internet.
2/12/2020 24
Client-Server Computing Architecture
• Computers on the Internet use a client/server architecture.
• The client is separated from a server.
• The client is defined as the requester of services and the server is
defined as the provider of services.
• A service can be sharing of information or resources.
2/12/2020 25
Client-Server Computing Architecture
• Each instance of the client software sends data requests to one or
more connected servers.
• In turn, the servers accept these requests, process them, and return
the requested information to the client.
2/12/2020 26
Client-Server Computing Architecture
The client
• Characteristics of a client
• Initiates requests
• Waits for and receives replies
• Usually connects to a small number of servers at one time
• Typically interacts directly with end-users using a graphical user
interface
• Examples: web browsers, email clients and online chat clients
2/12/2020 27
Client-Server Computing Architecture
The server
• Characteristics of a server
• Works as the slave
• Waits for requests from clients
• Upon receipt of requests, processes them and then serves replies
• Usually accepts connections from a large number of clients
• Typically does not interact directly with end-users
• Examples: web servers, database servers and mail servers
2/12/2020 28
Client-Server Computing Architecture
The Middleware
• Middleware is a computer software that provides services
to software applications beyond those available from
the operating system.
• It acts as a bridge between an operating system or database and
applications, especially on a network.
• It can be described as "software glue“.
2/12/2020 29
The Old Internet
• Static web pages needed to be refreshed by the server every time
data changed.
• This made working with web pages very slow.
• Every action would require a sending of user data, a forming of a page, and
the downloading and parsing of that page.
• As time went by, more and more of the work of a web page was
shunted onto the client.
2/12/2020 30
The Modern Internet
• On the modern internet, web pages are often fully functioning
applications.
• Facebook
• Gmail
• Youtube etc….
• Much of the processing is done in real time on the client side.
• The web page contains the instructions for the browser.
• The browser does the work of formatting data
• This has allowed for much more interactivity.
2/12/2020 31
Internet Services
• An Internet user has access to a wide variety of services:
• Interlinked Web pages
• Searching
• Electronic mail (E-mails)
• File sharing and transferring
• Multimedia
• Real-time broadcasting (Streaming Media [audio and video])
• Breaking news
• E-commerce (shopping opportunities)
• Chatting
• Online education etc.
2/12/2020 32
• The Internet consists primarily of a variety of access protocols.
• Many of these protocols feature programs that allow users to search
for and retrieve material made available by the protocol.
2/12/2020 33
World Wide Web
• The World Wide Web (WWW) is based on a network of computers
(the internet) which is able to exchange text, graphics, and even
multimedia content using standard protocols.
• The Web was created in 1989 by the briton Sir Tim Berners-Lee and
the Belgian Robert Cailliau working at CERN in Geneva, Switzerland as
a means for transferring text and graphics.
2/12/2020 34
World Wide Web
• A client requires a client application, usually a Web browser, to view
Web pages that may contain text, images, and other multimedia and
navigates between them using hyperlinks.
• A distributed document delivery service implemented using the
client-server model and the application–level protocols running on
the internet.
2/12/2020 35
World Wide Web
• It is a way of accessing information over the medium of the Internet
• A collection of interlinked multimedia documents that are stored on
the Internet and accessed using a common protocol (HTTP)
2/12/2020 36
Web Server
• A specialized software that responds to client requests (typically from
a Web browser) by providing resources such as HTML documents.
• Web server and client communicate using the platform-independent,
Hyper Text Transfer Protocol (HTTP), a protocol for transferring
requests and files over the Internet.
• Examples: IIS, PWS, Tomcat, Apache
2/12/2020 37
Web Browser
• A web browser (commonly referred to as a browser) is a
software application for retrieving, presenting, and traversing
information resources on the World Wide Web.
• Web Browser Applications
2/12/2020 38
Relationship between the Internet & WWW
• The Internet is a massive collection of networks.
• The Web is a collection of HTML pages on the internet.
• The Web is a portion of the internet.
2/12/2020 39
Website
• A collection of related web pages, including multimedia content.
• It is written using a language called HTML.
• Can be viewed using a Web Browser.
• Hyperlinks
• A reference to data that the reader can directly follow either by clicking,
tapping, or hovering.
• Hypertext
• The text with hyperlinks.
2/12/2020 40
Website
• Hypermedia
• An extension of the term hypertext, is a nonlinear medium of information
which includes graphics, audio, video, plain text and hyperlinks.
2/12/2020 41
Website
2/12/2020 42
Types of Web pages
• Static webpage
• HTML is used to specify the format.
• Contents are same each time it is accessed.
• E.g. most homepages
• Dynamic webpage
• Written using a server-side scripting language such as PHP, ASP, JSP
etc.
• Pages must be changeable.
• Two types
• Client-Side
• Server-Side
2/12/2020 43
How to request a web page
2/12/2020 44
How to request a web page
• The User requests the web page (via a URL) from the server using a
web browser.
• Server will find the corresponding web page stored in it’s hard disk.
• Then the page will be sent as the response to the client.
• The web browser will render the page to the client.
2/12/2020 45
URL (Uniform Resource Locator)
• A reference to a web resource that specifies its location on a
computer network and a mechanism for retrieving it.
• Commonly informally termed a web address.
• Syntax of URL :
http://www.server_name/file_name
E.g. : https://www.seu.ac.lk/index.html
2/12/2020 46
URL
• The structure of a URL is hierarchical.
• Parts of URL
• Protocol (http, ftp)
• Domain name
• Port address
• Directory path
• File name
http://www.google.com/options/index.html
2/12/2020 47
URI, URL & URN
• A URI (Uniform Resource Identifier) identifies a resource either by
location, or a name, or both.
• A URL is a URI that identifies a resource and also provides the means
of locating the resource by describing the way to access it.
• A URN (Uniform Resource Name) is a URI that represents an Internet
resource with a name.
2/12/2020 48
URI, URL & URN
• A URN can be compared to a person's name, while a URL can be
compared to their street address.
• In other words, a URN identifies an item and a URL provides a method
for finding it.
2/12/2020 49
Internet Protocol (IP) Address
• A number used to identify the logical connection of a computer in a
physical network using a 32-bit binary address, composed of four 8-
bit numbers.
• IP addresses are represented as four decimal numbers between 0 and
255 separated by dots (e.g. 199.221.66.20). This is referred to as
dotted-decimal notation.
• Any resource attached to an IP network can be assigned an IP
address, e.g. computer, printer or a scanner.
• 10010011 10000110 00000010 00010100
written as a dotted sequence
147.134.2.20
2/12/2020 50
Domain Name System (DNS)
• Also known as name servers.
• DNS provides 'name resolution service‘ which is a process of
resolving names into IP addresses or vice versa.
• It keeps a table of names & corresponding IP addresses for this
purpose.
• A local DNS server which performs domain name lookup is usually
located on the network to which your computer is attached.
• If you are using an Internet Service Provider (ISP), your DNS server is
at your ISP.
2/12/2020 51
DNS
• Translates human – readable computer hostnames,
e.g. www.google.com, into the IP addresses that networking
equipment need for delivering the information.
2/12/2020 52
Parts of a domain name
• A domain name consists of two or more parts separated by dots.
• E.g. en.wikipedia.org
www.mccombs.utexas.edu
2/12/2020 53
Proxy Server
• A dedicated computer or a software system running on a computer
that acts as an intermediary between an endpoint device, such as a
computer, and another server from which a user or client is
requesting a service.
2/12/2020 54
Hypertext Transfer Protocol (HTTP)
• HTTP is a set of rules for exchanging files such as text, graphics
images, sound, video and other multimedia files on the Web.
• HTTP is stateless (the connection between the browser & the server
is lost once the transaction ends) and relies on URI naming
mechanism.
• HTTP is based on the client/server principle.
• Development of HTTP was initiated by Tim Berners-Lee at CERN in
1989.
• Development of HTTP was coordinated by the W3C (World Wide Web
Consortium) and the IETF (Internet Engineering Task Force)
2/12/2020 55
HTTP – How it works
• When the user of a Web browser requests a file by typing a Web site
address or clicking a hyperlink, the browser builds an HTTP request
and sends it to the server.
• The Web server in the destination machine receives the request, does
any necessary processing, and responds with the requested file and
any associated media files.
2/12/2020 56
HTTP
• HTTP versions
• HTTP/0.9 (RFC 1945) Depreciated
• HTTP/1.0 (May 1996, RFC 1945)
• HTTP/1.1 (June 1999, RFC 2616)
• HTTP/1.2
2/12/2020 57
Ports
• A port is an endpoint of communication in an operating system.
• While the term is also used for hardware devices, in software it is a
logical construct that identifies a specific process or a type of network
service.
• A port is identified for each address and protocol by a 16-bit number,
commonly known as the port number.
• Port numbers are managed by the IANA (Internet Assigned Numbers
Authority).
• Some TCP/IP ports
• 80/TCP – HTTP (for transferring web pages)
• 3306/TCP – MySQL
2/12/2020 58
Standard Bodies
• The World Wide Web Consortium (W3C)
• The W3C is the main international standards organization for
the World Wide Web (abbreviated WWW or W3).
• The W3C develops interoperable technologies (specifications,
guidelines, software, and tools) to lead the Web to its full potential.
2/12/2020 59