SlideShare a Scribd company logo
1 of 28
Introduction: Web Applications,
TCP/IP Application Services.
Web Engineering
Introduction: Web Applications
• THE WEB IN PERSPECTIVE
• A little more than a decade ago at CERN (the scientific research laboratory near
Geneva, Switzerland), Tim Berners-Lee presented a proposal for an information
management system that would enable the sharing of knowledge and resources over
a computer network.
The system he proposed has propagated itself into what can truly be called a
World Wide Web, as people all over the world use it for a wide variety of
purposes:
• Educational institutions and research laboratories were among the very first users of
the Web, employing it for sharing documents and other resources across the Internet.
• Individuals today use the Web (and the underlying Internet technologies that support
it) as an instantaneous international postal service, as a worldwide community bulletin
board for posting virtual photo albums, and as a venue for holding global yard sales.
• Businesses engage in e-commerce, offering individuals a medium for buying
and selling goods and services over the net. They also communicate with other
businesses through B2B (business-to-business) data exchanges, where
companies can provide product catalogues, inventories, and sales records to
other companies.
THE ORIGINS OF THE WEB
• Tim Berners-Lee originally promoted theWorldWideWeb as a virtual
library, a document
• control system for sharing information resources among researchers.
Online
• documents could be accessed via a unique document address, a
Universal Resource
• Locator (URL). These documents could be cross-referenced via
hypertext links.
FROM WEB PAGES TO WEB SITES
• The explosively exponential growth of the Web can at least partially be
attributed to its grass roots proliferation as a tool for personal publishing.
The fundamental technology behind the Web is relatively simple.
• A computer connected to the Internet, running a Web server, was all that
was necessary to serve documents. Both CERN and the National Center
for Supercomputer Applications (NCSA) at the University of Illinois had
developed freely available Web server software.
• A small amount of HTML knowledge (and the proper computing
resources) got you something that could be called a Web site.
• There is a big difference between a Web page and a Web site. A Web site
is more than just a group of Web pages that happen to be connected to
each other through hypertext links.
• At the lowest level, there are content-related concerns. Maintaining
thematic consistency of content is important in giving a site some degree
of identity.
• There are also aesthetic concerns. In addition to having thematically-
related content, a Web site should also have a common look and feel
across all of its pages, so that site visitors know they are looking at a
particular Web site.
• This means utilizing a common style across the site: page layout, graphic
design, and typographical elements should reflect that style.
• There are also architectural concerns.
• As a site grows in size and becomes more complex, it becomes critically
important to organize its content properly.
• This includes not just the layout of content on individual pages, but also the
interconnections between the pages themselves.
FROM WEB SITES TO WEB APPLICATIONS
• Initially, what people shared over the Internet consisted mostly of static
information found in files.
• They might edit these files and update their content, but there were few
truly dynamic information services on the Internet. Granted, there were
a few exceptions: search applications for finding files found on FTP
archives and Gopher servers.
• services that provided dynamic information directly, like the weather, or
the availability of cans from a soda dispensing machine. (One of the first
Web applications that Tim Berners-Lee demonstrated at CERN was a
gateway for looking up numbers from a phone book database using a
Web browser.)
Definition of a Web Application
• What is a ‘Web application?’ By definition, it is something more than just a
‘Web site.’
• It is a client/server application that uses a Web browser as its client program,
and performs
• an interactive service by connecting with servers over the Internet (or
Intranet).
• A Web site simply delivers content from static files. A Web application
presents dynamically tailored content based on request parameters, tracked
user behaviors, and security considerations.
Principles of web application design
• We mean the core set of protocols and languages associated with Web applications.
• This includes, of course, HTTP (HyperText Transfer Protocol) and HTML
• (HyperText Markup Language), which are fundamental to the creation and transmission
• of Web pages. It also includes the older Internet protocols like Telnet and
• FTP, protocols used for message transfer like SMTP and IMAP, plus advanced protocols
• and languages like XML. Additionally, it includes knowledge of databases
• and multimedia presentation, since many sophisticated Web applications make use
• of these technologies extensively.
• The ideal Web application architect must in some sense be a ‘jack of all trades’.
• People who design Web applications must understand not only HTTP and HTML,
• but the other underlying Internet protocols as well. They must be familiar with
• JavaScript, XML, relational databases, graphic design and multimedia. They must
• be well versed in application server technology, and have a strong background in
• information architecture.
TCP/IP Application Services
• The protocols behind the ARPANET evolved over time into the TCP/IP Protocol
Suite, a layered taxonomy of data communications protocols. The name
TCP/IP refers to two of the most important protocols within the suite:
• TCP (Transmission Control Protocol) and IP (Internet Protocol ), but the suite is
comprised of many other significant protocols and services.
• Layers
• The protocol layers associated with TCP/IP (above the ‘layer’ of physical
interconnection) are:
• 1. the Network Interface layer,
• 2. the Internet layer,
• 3. the Transport layer
• 4. the Application layer
• The Network Interface layer is the layer responsible for the lowest level of data transmission
within TCP/IP, facilitating communication with the underlying physical network.
• The Internet layer provides the mechanisms for intersystem communications, controlling message
routing, validity checking, and message header composition/decomposition. The protocol known
as IP (which stands, oddly enough, for Internet Protocol) operates on this layer, as does ICMP (the
Internet Control Message Protocol).
• ICMP handles the transmission of control and error messages between systems. Ping is an
Internet service that operates through ICMP. The Transport layer provides message transport
services between applications running on remote systems. This is the layer in which TCP (the
Transmission Control Protocol) operates.
• TCP provides reliable, connection-oriented message transport.
• Most of the well-known Internet services make use of TCP as their foundation.However, some
services that do not require the reliability (and overhead) associated with TCP make use of UDP
(which stands for User Datagram Protocol).
• For instance, streaming audio and video services would gladly sacrifice a few lost packets to get
faster performance out of their data streams, so these services often operate over UDP, which
trades reliability for performance.
• The Application layer is the highest level within the TCP/IP protocol stack. It is
• within this layer that most of the services we associate with ‘the Internet’ operate.
• TCP/IP Overview: Transmission Control Protocol (TCP) and Internet
Protocol (IP) are the foundational protocols of the internet. TCP ensures
reliable data delivery between devices, while IP is responsible for
addressing and routing packets of data across networks.
• Application Layer Protocols: TCP/IP includes a suite of protocols at the
application layer that facilitate communication between software
applications. Some prominent ones include:
• Hypertext Transfer Protocol (HTTP): Facilitates the transfer of hypertext,
commonly used for accessing and retrieving web pages.
• File Transfer Protocol (FTP): Enables the transfer of files between computers on
a network.
• Simple Mail Transfer Protocol (SMTP): Manages the sending of emails between
servers.
• Post Office Protocol (POP) and Internet Message Access Protocol (IMAP): Used
for retrieving emails from a server to a client.
Hypertext Transfer Protocol (HTTP)
• Hypertext Transfer Protocol (HTTP) is a fundamental protocol of the
internet that is used for communication between web browsers and
servers. It is an application layer protocol in the TCP/IP protocol suite
and serves as the foundation for data communication on the World
Wide Web.
• Communication Model:
• Client-Server Architecture: HTTP follows a client-server model, where
the client (typically a web browser) sends requests to the server, and
the server responds with the requested resources (e.g., HTML pages,
images, or other files).
File Transfer Protocol (FTP)
• File Transfer Protocol (FTP) is a standard network protocol used for
the transfer of files between a client and a server on a computer
network. It operates on the application layer of the OSI model and
uses a client-server architecture. The primary purpose of FTP is to
enable the exchange of files over a TCP/IP-based network. Here are
the key aspects of File Transfer Protocol:
• Client-Server Architecture:
• Client: The user or system that initiates the file transfer by making
requests to the FTP server.
• Server: The system that hosts the files and responds to client
requests, facilitating file transfers.
• Connection Modes:
• Active Mode: In active mode FTP, the client opens a random port for
data transfer, and the server connects to that port. This mode may
face issues with firewalls and network address translation (NAT)
setups because the server initiates the connection.
• Passive Mode: In passive mode FTP, the client initiates both the
control and data connections. The server opens a random port for
data transfer, and the client connects to that port. Passive mode is
often preferred for its compatibility with modern networking setups.
FTP Commands:
• FTP uses a set of commands to perform various operations on files
and directories. Some common FTP commands include:
• USER/PASS: Authenticate the user by providing a username and password.
• LIST: Get a list of files in the current directory on the server.
• CWD (Change Working Directory): Change the current directory on the
server.
• PWD (Print Working Directory): Display the current directory on the server.
• RETR (Retrieve): Download a file from the server to the client.
• STOR (Store): Upload a file from the client to the server.
• DELE (Delete): Delete a file on the server.
• QUIT: Terminate the FTP session.
SMTP (Simple Mail Transfer Protocol):
• SMTP, or Simple Mail Transfer Protocol, is a standard communication
protocol used for the transmission of electronic mail (email) over the
internet. It is an application layer protocol that enables the sending of
emails from a client to a server or between servers. Here are the key
features and concepts associated with SMTP:
• Email Transmission:
• SMTP is responsible for sending outgoing emails. It works by transferring
messages from the sender's email client or server to the recipient's email
server.
• It uses a store-and-forward mechanism, where the email server temporarily
stores the email and forwards it to the recipient's server when it is available.
• Port Number:
• SMTP typically uses port 25 for communication between email clients and
servers. However, for secure communication, SMTP over TLS/SSL may use
port 587.
• Authentication:
• SMTP authentication is crucial for preventing unauthorized access. It requires
users to provide valid credentials (username and password) to send emails
through the server.
POP (Post Office Protocol):
• POP, or Post Office Protocol, is an application layer protocol used for
retrieving emails from a mail server. There are two main versions:
POP2 and POP3, with POP3 being the more widely used version. Here
are the key aspects of POP:
• Email Retrieval:
• POP allows email clients to retrieve messages from a mail server. Once
retrieved, the messages are usually deleted from the server, and a local copy
is stored on the user's device.
• Authentication:
• Similar to SMTP, POP requires authentication to access an email account.
Users need to provide a valid username and password to retrieve their emails.
• Port Number:
• POP typically uses port 110 for unencrypted communication. For secure
communication, POP3 over TLS/SSL uses port 995.
Socket Communication
• Socket communication is a fundamental concept in network programming that
enables communication between two processes (applications or services) running
on different devices over a network. Sockets provide a standard mechanism for
processes on different devices to establish a connection, exchange data, and
communicate with each other. This communication can occur within the same
computer (inter-process communication) or over a network (inter-device
communication).
• Definition of a Socket:
• A socket is a software endpoint that establishes a communication link between
two processes. It consists of an IP address and a port number, allowing processes
on different devices to connect to each other.
Types of Sockets:
• Stream Sockets (TCP): These provide a reliable, connection-oriented communication channel.
TCP (Transmission Control Protocol) ensures that data is delivered in the correct order and
without loss.
• Datagram Sockets (UDP): These provide a connectionless, unreliable communication channel.
UDP (User Datagram Protocol) is faster but does not guarantee the order or reliability of data
delivery.
• Socket Communication Steps:
• Socket Creation: The processes create sockets to establish communication. This involves
specifying the socket type, IP address, and port number.
• Binding: The server process binds its socket to a specific IP address and port number, making it
reachable by clients.
• Listening (for Servers): The server socket enters a listening state, waiting for incoming
connection requests from clients.
• Connection Establishment (for Clients): The client process initiates a connection by specifying
the server's IP address and port number.
• Acceptance (for Servers): The server accepts incoming connection requests, creating a new
socket dedicated to communication with the specific client.
• Data Transfer: Both processes can send and receive data through their respective sockets using
read and write operations.
• Closing Connections: Either party can initiate the closure of the connection when the
communication is complete.
HTTP HISTORICAL PERSPECTIVE
• For all practical purposes, it all started at CERN back in 1989. That is
when Tim Berners-Lee wrote a proposal for a hypertext-based
information management system and distributed this proposal among
the scientists at CERN.
• By the end of 1990, Berners-Lee had implemented a server and a
command-line browser using the initial version of the HyperText
Transfer Protocol (HTTP) that he designed for this system.
• By the middle of 1991, this server and browser were
• made available throughout CERN. Soon thereafter, the software was
made available for anonymous FTP download on the Internet. Interest
in HTTP and the Web grew,
• and many people downloaded the software. A newsgroup,
comp.infosystems.www was created to support discussion of this new
technology.
BUILDING BLOCKS OF THE WEB
• There were three basic components devised by Tim Berners-Lee comprising the
• essence of Web technology:
• 1. A markup language for formatting hypertext documents.
• 2. A uniform notation scheme for addressing accessible resources over the
network.
• 3. A protocol for transporting messages over the network.
• The markup language that allowed cross-referencing of documents via hyperlinks
was
• the Hyper Text Markup Language (HTML).We shall discuss HTML in a later.
• The uniform notation scheme is called the Uniform Resource Identifier (URI).
• For historic reasons, it is most often referred to as the Uniform Resource Locator
(URL).
• HTTP is a core foundation of the World Wide Web. It was designed for
transporting
• specialized messages over the network. The simplicity of the protocol
does not always apply to HTTP interactions, which are complicated in
the context of sophisticated Web applications.
• This will become apparent when we discuss the complex interactions
between HTML, XML, and web server technologies (e.g. servlets and
Java Server Pages)
THE UNIFORM RESOURCE LOCATOR
• Here is the generalized notation associated with URLs:
• scheme://host[:port#]/path/. . ./[;url-params][?query-string][#anchor]
• Let us break a URL down into its component parts:
• •scheme—this portion of the URL designates the underlying protocol to be used
• (e.g. ‘http’ or ‘ftp’). This is the portion of the URL preceding the colon and two
forward slashes.
• • host—this is either the name of the IP address for the web server being
accessed. This is usually the part of the URL immediately following the colon and
two forward slashes.
• • port#—this is an optional portion of the URL designating the port number that
• the target web server listens to. (The default port number for HTTP servers is 80,
• but some configurations are set up to use an alternate port number. When they
• do, that number must be specified in the URL.) The port number, if it appears,
• is found right after a colon that immediately follows the server name or address.
• path—logically speaking, this is the file system path from the ‘root’
directory of the server to the desired document. (In practice, web
servers may make use of aliasing to point to documents, gateways,
and services that are not explicitly accessible from the server’s root
directory.)
• The path immediately follows the server and port number portions of
the URL, and by definition includes that first forward slash.
• • query-string—this optional portion of the URL contains other
dynamic parameters
• associated with the request. Usually, these parameters are produced
as the result of user-entered variables in HTML forms. If present, the
query string follows a question mark in the URL. Equal signs (=)
separate the parameters from their values, and ampersands (&) mark
the boundaries between parameter value pairs.
• anchor—this optional portion of the URL is a reference to a positional
marker
• within the requested document, like a bookmark. If present, it follows
a hash mark or pound sign (‘#’).
• The breakout of a sample URL into components is illustrated below:
• http://www.mywebsite.com/sj/test;id=8079?name=sviergn&x=true
#stuff
• SCHEME = http
• HOST = www.mywebsite.com
• PATH = /sj/test
.QUERY STRING = name=sviergn&x=true

More Related Content

Similar to web world wide defination introduction.pptx

Similar to web world wide defination introduction.pptx (20)

Introduction_to_Intndhjehddhjdhrjkrhernet.pptx
Introduction_to_Intndhjehddhjdhrjkrhernet.pptxIntroduction_to_Intndhjehddhjdhrjkrhernet.pptx
Introduction_to_Intndhjehddhjdhrjkrhernet.pptx
 
Internet
InternetInternet
Internet
 
Unit 1
Unit 1Unit 1
Unit 1
 
Week two lecture
Week two lectureWeek two lecture
Week two lecture
 
An Introduction To World Wide Web
An Introduction To World Wide WebAn Introduction To World Wide Web
An Introduction To World Wide Web
 
Internet and web by Gulshan K Maheshwari(QAU)
Internet and web by Gulshan  K Maheshwari(QAU)Internet and web by Gulshan  K Maheshwari(QAU)
Internet and web by Gulshan K Maheshwari(QAU)
 
Internet
InternetInternet
Internet
 
Web Technology UPTU UNIT 1
Web Technology UPTU UNIT 1 Web Technology UPTU UNIT 1
Web Technology UPTU UNIT 1
 
Unit 4
Unit 4Unit 4
Unit 4
 
CS8651 Internet Programming - Basics of HTML, HTML5, CSS
CS8651   Internet Programming - Basics of HTML, HTML5, CSSCS8651   Internet Programming - Basics of HTML, HTML5, CSS
CS8651 Internet Programming - Basics of HTML, HTML5, CSS
 
Html
HtmlHtml
Html
 
Web Technologies Introduction to web technologies
Web Technologies Introduction to web technologiesWeb Technologies Introduction to web technologies
Web Technologies Introduction to web technologies
 
UNIT3- Internet(2).ppt
UNIT3- Internet(2).pptUNIT3- Internet(2).ppt
UNIT3- Internet(2).ppt
 
ch01-Internet & Web Basics &.ppt
ch01-Internet & Web Basics &.pptch01-Internet & Web Basics &.ppt
ch01-Internet & Web Basics &.ppt
 
WT_TOTAL.pdf
WT_TOTAL.pdfWT_TOTAL.pdf
WT_TOTAL.pdf
 
Intro. to the internet and web
Intro. to the internet and webIntro. to the internet and web
Intro. to the internet and web
 
Internet
InternetInternet
Internet
 
Unit 1 web technology uptu slide
Unit 1 web technology uptu slideUnit 1 web technology uptu slide
Unit 1 web technology uptu slide
 
Intro to internet 1
Intro to internet 1Intro to internet 1
Intro to internet 1
 
Presentation1
Presentation1Presentation1
Presentation1
 

More from ubaidullah75790

vu-re-lecture-33 requirement engineering.ppt
vu-re-lecture-33 requirement engineering.pptvu-re-lecture-33 requirement engineering.ppt
vu-re-lecture-33 requirement engineering.pptubaidullah75790
 
Requirement management traceability.ppt
Requirement management  traceability.pptRequirement management  traceability.ppt
Requirement management traceability.pptubaidullah75790
 
SRS for banking system requirement engineer.ppt
SRS for banking system requirement engineer.pptSRS for banking system requirement engineer.ppt
SRS for banking system requirement engineer.pptubaidullah75790
 
Agile Method requirement engineering.ppt
Agile Method requirement engineering.pptAgile Method requirement engineering.ppt
Agile Method requirement engineering.pptubaidullah75790
 
traceabilty transport layer is liye .ppt
traceabilty transport layer is liye .ppttraceabilty transport layer is liye .ppt
traceabilty transport layer is liye .pptubaidullah75790
 
vu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.pptvu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.pptubaidullah75790
 
SRS for banking system requirement s.ppt
SRS for banking system requirement s.pptSRS for banking system requirement s.ppt
SRS for banking system requirement s.pptubaidullah75790
 
SRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.pptSRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.pptubaidullah75790
 
Requirments management traceability.ppt
Requirments  management traceability.pptRequirments  management traceability.ppt
Requirments management traceability.pptubaidullah75790
 
SRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.pptSRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.pptubaidullah75790
 
vu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.pptvu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.pptubaidullah75790
 
vu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.pptvu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.pptubaidullah75790
 
vu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.pptvu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.pptubaidullah75790
 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptubaidullah75790
 
vu-re-lecture-05 requirement engineering.ppt
vu-re-lecture-05 requirement engineering.pptvu-re-lecture-05 requirement engineering.ppt
vu-re-lecture-05 requirement engineering.pptubaidullah75790
 
vu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.pptvu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.pptubaidullah75790
 
vu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.pptvu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.pptubaidullah75790
 
vu-re-lecture-02 requirements engineering.ppt
vu-re-lecture-02 requirements engineering.pptvu-re-lecture-02 requirements engineering.ppt
vu-re-lecture-02 requirements engineering.pptubaidullah75790
 
vu-re-lecture-01 software engineering.ppt
vu-re-lecture-01 software engineering.pptvu-re-lecture-01 software engineering.ppt
vu-re-lecture-01 software engineering.pptubaidullah75790
 
vu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.pptvu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.pptubaidullah75790
 

More from ubaidullah75790 (20)

vu-re-lecture-33 requirement engineering.ppt
vu-re-lecture-33 requirement engineering.pptvu-re-lecture-33 requirement engineering.ppt
vu-re-lecture-33 requirement engineering.ppt
 
Requirement management traceability.ppt
Requirement management  traceability.pptRequirement management  traceability.ppt
Requirement management traceability.ppt
 
SRS for banking system requirement engineer.ppt
SRS for banking system requirement engineer.pptSRS for banking system requirement engineer.ppt
SRS for banking system requirement engineer.ppt
 
Agile Method requirement engineering.ppt
Agile Method requirement engineering.pptAgile Method requirement engineering.ppt
Agile Method requirement engineering.ppt
 
traceabilty transport layer is liye .ppt
traceabilty transport layer is liye .ppttraceabilty transport layer is liye .ppt
traceabilty transport layer is liye .ppt
 
vu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.pptvu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.ppt
 
SRS for banking system requirement s.ppt
SRS for banking system requirement s.pptSRS for banking system requirement s.ppt
SRS for banking system requirement s.ppt
 
SRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.pptSRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.ppt
 
Requirments management traceability.ppt
Requirments  management traceability.pptRequirments  management traceability.ppt
Requirments management traceability.ppt
 
SRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.pptSRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.ppt
 
vu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.pptvu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.ppt
 
vu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.pptvu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.ppt
 
vu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.pptvu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.ppt
 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.ppt
 
vu-re-lecture-05 requirement engineering.ppt
vu-re-lecture-05 requirement engineering.pptvu-re-lecture-05 requirement engineering.ppt
vu-re-lecture-05 requirement engineering.ppt
 
vu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.pptvu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.ppt
 
vu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.pptvu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.ppt
 
vu-re-lecture-02 requirements engineering.ppt
vu-re-lecture-02 requirements engineering.pptvu-re-lecture-02 requirements engineering.ppt
vu-re-lecture-02 requirements engineering.ppt
 
vu-re-lecture-01 software engineering.ppt
vu-re-lecture-01 software engineering.pptvu-re-lecture-01 software engineering.ppt
vu-re-lecture-01 software engineering.ppt
 
vu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.pptvu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.ppt
 

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

web world wide defination introduction.pptx

  • 1. Introduction: Web Applications, TCP/IP Application Services. Web Engineering
  • 2. Introduction: Web Applications • THE WEB IN PERSPECTIVE • A little more than a decade ago at CERN (the scientific research laboratory near Geneva, Switzerland), Tim Berners-Lee presented a proposal for an information management system that would enable the sharing of knowledge and resources over a computer network. The system he proposed has propagated itself into what can truly be called a World Wide Web, as people all over the world use it for a wide variety of purposes: • Educational institutions and research laboratories were among the very first users of the Web, employing it for sharing documents and other resources across the Internet. • Individuals today use the Web (and the underlying Internet technologies that support it) as an instantaneous international postal service, as a worldwide community bulletin board for posting virtual photo albums, and as a venue for holding global yard sales. • Businesses engage in e-commerce, offering individuals a medium for buying and selling goods and services over the net. They also communicate with other businesses through B2B (business-to-business) data exchanges, where companies can provide product catalogues, inventories, and sales records to other companies.
  • 3. THE ORIGINS OF THE WEB • Tim Berners-Lee originally promoted theWorldWideWeb as a virtual library, a document • control system for sharing information resources among researchers. Online • documents could be accessed via a unique document address, a Universal Resource • Locator (URL). These documents could be cross-referenced via hypertext links.
  • 4. FROM WEB PAGES TO WEB SITES • The explosively exponential growth of the Web can at least partially be attributed to its grass roots proliferation as a tool for personal publishing. The fundamental technology behind the Web is relatively simple. • A computer connected to the Internet, running a Web server, was all that was necessary to serve documents. Both CERN and the National Center for Supercomputer Applications (NCSA) at the University of Illinois had developed freely available Web server software. • A small amount of HTML knowledge (and the proper computing resources) got you something that could be called a Web site.
  • 5. • There is a big difference between a Web page and a Web site. A Web site is more than just a group of Web pages that happen to be connected to each other through hypertext links. • At the lowest level, there are content-related concerns. Maintaining thematic consistency of content is important in giving a site some degree of identity. • There are also aesthetic concerns. In addition to having thematically- related content, a Web site should also have a common look and feel across all of its pages, so that site visitors know they are looking at a particular Web site. • This means utilizing a common style across the site: page layout, graphic design, and typographical elements should reflect that style.
  • 6. • There are also architectural concerns. • As a site grows in size and becomes more complex, it becomes critically important to organize its content properly. • This includes not just the layout of content on individual pages, but also the interconnections between the pages themselves.
  • 7. FROM WEB SITES TO WEB APPLICATIONS • Initially, what people shared over the Internet consisted mostly of static information found in files. • They might edit these files and update their content, but there were few truly dynamic information services on the Internet. Granted, there were a few exceptions: search applications for finding files found on FTP archives and Gopher servers. • services that provided dynamic information directly, like the weather, or the availability of cans from a soda dispensing machine. (One of the first Web applications that Tim Berners-Lee demonstrated at CERN was a gateway for looking up numbers from a phone book database using a Web browser.)
  • 8. Definition of a Web Application • What is a ‘Web application?’ By definition, it is something more than just a ‘Web site.’ • It is a client/server application that uses a Web browser as its client program, and performs • an interactive service by connecting with servers over the Internet (or Intranet). • A Web site simply delivers content from static files. A Web application presents dynamically tailored content based on request parameters, tracked user behaviors, and security considerations.
  • 9. Principles of web application design • We mean the core set of protocols and languages associated with Web applications. • This includes, of course, HTTP (HyperText Transfer Protocol) and HTML • (HyperText Markup Language), which are fundamental to the creation and transmission • of Web pages. It also includes the older Internet protocols like Telnet and • FTP, protocols used for message transfer like SMTP and IMAP, plus advanced protocols • and languages like XML. Additionally, it includes knowledge of databases • and multimedia presentation, since many sophisticated Web applications make use • of these technologies extensively. • The ideal Web application architect must in some sense be a ‘jack of all trades’. • People who design Web applications must understand not only HTTP and HTML, • but the other underlying Internet protocols as well. They must be familiar with • JavaScript, XML, relational databases, graphic design and multimedia. They must • be well versed in application server technology, and have a strong background in • information architecture.
  • 10. TCP/IP Application Services • The protocols behind the ARPANET evolved over time into the TCP/IP Protocol Suite, a layered taxonomy of data communications protocols. The name TCP/IP refers to two of the most important protocols within the suite: • TCP (Transmission Control Protocol) and IP (Internet Protocol ), but the suite is comprised of many other significant protocols and services. • Layers • The protocol layers associated with TCP/IP (above the ‘layer’ of physical interconnection) are: • 1. the Network Interface layer, • 2. the Internet layer, • 3. the Transport layer • 4. the Application layer
  • 11. • The Network Interface layer is the layer responsible for the lowest level of data transmission within TCP/IP, facilitating communication with the underlying physical network. • The Internet layer provides the mechanisms for intersystem communications, controlling message routing, validity checking, and message header composition/decomposition. The protocol known as IP (which stands, oddly enough, for Internet Protocol) operates on this layer, as does ICMP (the Internet Control Message Protocol). • ICMP handles the transmission of control and error messages between systems. Ping is an Internet service that operates through ICMP. The Transport layer provides message transport services between applications running on remote systems. This is the layer in which TCP (the Transmission Control Protocol) operates. • TCP provides reliable, connection-oriented message transport. • Most of the well-known Internet services make use of TCP as their foundation.However, some services that do not require the reliability (and overhead) associated with TCP make use of UDP (which stands for User Datagram Protocol). • For instance, streaming audio and video services would gladly sacrifice a few lost packets to get faster performance out of their data streams, so these services often operate over UDP, which trades reliability for performance. • The Application layer is the highest level within the TCP/IP protocol stack. It is • within this layer that most of the services we associate with ‘the Internet’ operate.
  • 12. • TCP/IP Overview: Transmission Control Protocol (TCP) and Internet Protocol (IP) are the foundational protocols of the internet. TCP ensures reliable data delivery between devices, while IP is responsible for addressing and routing packets of data across networks. • Application Layer Protocols: TCP/IP includes a suite of protocols at the application layer that facilitate communication between software applications. Some prominent ones include: • Hypertext Transfer Protocol (HTTP): Facilitates the transfer of hypertext, commonly used for accessing and retrieving web pages. • File Transfer Protocol (FTP): Enables the transfer of files between computers on a network. • Simple Mail Transfer Protocol (SMTP): Manages the sending of emails between servers. • Post Office Protocol (POP) and Internet Message Access Protocol (IMAP): Used for retrieving emails from a server to a client.
  • 13. Hypertext Transfer Protocol (HTTP) • Hypertext Transfer Protocol (HTTP) is a fundamental protocol of the internet that is used for communication between web browsers and servers. It is an application layer protocol in the TCP/IP protocol suite and serves as the foundation for data communication on the World Wide Web. • Communication Model: • Client-Server Architecture: HTTP follows a client-server model, where the client (typically a web browser) sends requests to the server, and the server responds with the requested resources (e.g., HTML pages, images, or other files).
  • 14. File Transfer Protocol (FTP) • File Transfer Protocol (FTP) is a standard network protocol used for the transfer of files between a client and a server on a computer network. It operates on the application layer of the OSI model and uses a client-server architecture. The primary purpose of FTP is to enable the exchange of files over a TCP/IP-based network. Here are the key aspects of File Transfer Protocol: • Client-Server Architecture: • Client: The user or system that initiates the file transfer by making requests to the FTP server. • Server: The system that hosts the files and responds to client requests, facilitating file transfers.
  • 15. • Connection Modes: • Active Mode: In active mode FTP, the client opens a random port for data transfer, and the server connects to that port. This mode may face issues with firewalls and network address translation (NAT) setups because the server initiates the connection. • Passive Mode: In passive mode FTP, the client initiates both the control and data connections. The server opens a random port for data transfer, and the client connects to that port. Passive mode is often preferred for its compatibility with modern networking setups.
  • 16. FTP Commands: • FTP uses a set of commands to perform various operations on files and directories. Some common FTP commands include: • USER/PASS: Authenticate the user by providing a username and password. • LIST: Get a list of files in the current directory on the server. • CWD (Change Working Directory): Change the current directory on the server. • PWD (Print Working Directory): Display the current directory on the server. • RETR (Retrieve): Download a file from the server to the client. • STOR (Store): Upload a file from the client to the server. • DELE (Delete): Delete a file on the server. • QUIT: Terminate the FTP session.
  • 17. SMTP (Simple Mail Transfer Protocol): • SMTP, or Simple Mail Transfer Protocol, is a standard communication protocol used for the transmission of electronic mail (email) over the internet. It is an application layer protocol that enables the sending of emails from a client to a server or between servers. Here are the key features and concepts associated with SMTP: • Email Transmission: • SMTP is responsible for sending outgoing emails. It works by transferring messages from the sender's email client or server to the recipient's email server. • It uses a store-and-forward mechanism, where the email server temporarily stores the email and forwards it to the recipient's server when it is available.
  • 18. • Port Number: • SMTP typically uses port 25 for communication between email clients and servers. However, for secure communication, SMTP over TLS/SSL may use port 587. • Authentication: • SMTP authentication is crucial for preventing unauthorized access. It requires users to provide valid credentials (username and password) to send emails through the server.
  • 19. POP (Post Office Protocol): • POP, or Post Office Protocol, is an application layer protocol used for retrieving emails from a mail server. There are two main versions: POP2 and POP3, with POP3 being the more widely used version. Here are the key aspects of POP: • Email Retrieval: • POP allows email clients to retrieve messages from a mail server. Once retrieved, the messages are usually deleted from the server, and a local copy is stored on the user's device. • Authentication: • Similar to SMTP, POP requires authentication to access an email account. Users need to provide a valid username and password to retrieve their emails. • Port Number: • POP typically uses port 110 for unencrypted communication. For secure communication, POP3 over TLS/SSL uses port 995.
  • 20. Socket Communication • Socket communication is a fundamental concept in network programming that enables communication between two processes (applications or services) running on different devices over a network. Sockets provide a standard mechanism for processes on different devices to establish a connection, exchange data, and communicate with each other. This communication can occur within the same computer (inter-process communication) or over a network (inter-device communication). • Definition of a Socket: • A socket is a software endpoint that establishes a communication link between two processes. It consists of an IP address and a port number, allowing processes on different devices to connect to each other.
  • 21. Types of Sockets: • Stream Sockets (TCP): These provide a reliable, connection-oriented communication channel. TCP (Transmission Control Protocol) ensures that data is delivered in the correct order and without loss. • Datagram Sockets (UDP): These provide a connectionless, unreliable communication channel. UDP (User Datagram Protocol) is faster but does not guarantee the order or reliability of data delivery. • Socket Communication Steps: • Socket Creation: The processes create sockets to establish communication. This involves specifying the socket type, IP address, and port number. • Binding: The server process binds its socket to a specific IP address and port number, making it reachable by clients. • Listening (for Servers): The server socket enters a listening state, waiting for incoming connection requests from clients. • Connection Establishment (for Clients): The client process initiates a connection by specifying the server's IP address and port number. • Acceptance (for Servers): The server accepts incoming connection requests, creating a new socket dedicated to communication with the specific client. • Data Transfer: Both processes can send and receive data through their respective sockets using read and write operations. • Closing Connections: Either party can initiate the closure of the connection when the communication is complete.
  • 22. HTTP HISTORICAL PERSPECTIVE • For all practical purposes, it all started at CERN back in 1989. That is when Tim Berners-Lee wrote a proposal for a hypertext-based information management system and distributed this proposal among the scientists at CERN. • By the end of 1990, Berners-Lee had implemented a server and a command-line browser using the initial version of the HyperText Transfer Protocol (HTTP) that he designed for this system.
  • 23. • By the middle of 1991, this server and browser were • made available throughout CERN. Soon thereafter, the software was made available for anonymous FTP download on the Internet. Interest in HTTP and the Web grew, • and many people downloaded the software. A newsgroup, comp.infosystems.www was created to support discussion of this new technology.
  • 24. BUILDING BLOCKS OF THE WEB • There were three basic components devised by Tim Berners-Lee comprising the • essence of Web technology: • 1. A markup language for formatting hypertext documents. • 2. A uniform notation scheme for addressing accessible resources over the network. • 3. A protocol for transporting messages over the network. • The markup language that allowed cross-referencing of documents via hyperlinks was • the Hyper Text Markup Language (HTML).We shall discuss HTML in a later. • The uniform notation scheme is called the Uniform Resource Identifier (URI). • For historic reasons, it is most often referred to as the Uniform Resource Locator (URL).
  • 25. • HTTP is a core foundation of the World Wide Web. It was designed for transporting • specialized messages over the network. The simplicity of the protocol does not always apply to HTTP interactions, which are complicated in the context of sophisticated Web applications. • This will become apparent when we discuss the complex interactions between HTML, XML, and web server technologies (e.g. servlets and Java Server Pages)
  • 26. THE UNIFORM RESOURCE LOCATOR • Here is the generalized notation associated with URLs: • scheme://host[:port#]/path/. . ./[;url-params][?query-string][#anchor] • Let us break a URL down into its component parts: • •scheme—this portion of the URL designates the underlying protocol to be used • (e.g. ‘http’ or ‘ftp’). This is the portion of the URL preceding the colon and two forward slashes. • • host—this is either the name of the IP address for the web server being accessed. This is usually the part of the URL immediately following the colon and two forward slashes. • • port#—this is an optional portion of the URL designating the port number that • the target web server listens to. (The default port number for HTTP servers is 80, • but some configurations are set up to use an alternate port number. When they • do, that number must be specified in the URL.) The port number, if it appears, • is found right after a colon that immediately follows the server name or address.
  • 27. • path—logically speaking, this is the file system path from the ‘root’ directory of the server to the desired document. (In practice, web servers may make use of aliasing to point to documents, gateways, and services that are not explicitly accessible from the server’s root directory.) • The path immediately follows the server and port number portions of the URL, and by definition includes that first forward slash. • • query-string—this optional portion of the URL contains other dynamic parameters • associated with the request. Usually, these parameters are produced as the result of user-entered variables in HTML forms. If present, the query string follows a question mark in the URL. Equal signs (=) separate the parameters from their values, and ampersands (&) mark the boundaries between parameter value pairs.
  • 28. • anchor—this optional portion of the URL is a reference to a positional marker • within the requested document, like a bookmark. If present, it follows a hash mark or pound sign (‘#’). • The breakout of a sample URL into components is illustrated below: • http://www.mywebsite.com/sj/test;id=8079?name=sviergn&x=true #stuff • SCHEME = http • HOST = www.mywebsite.com • PATH = /sj/test .QUERY STRING = name=sviergn&x=true