You are on page 1of 22

 Data communications refers to the transmission of this digital data between two or more

computers and a computer network or data network is a telecommunications network that allows
computers to exchange data. The physical connection between networked computing devices is
established using either cable media or wireless media. The best-known computer network is the
Internet.

 Networking engineering is a complicated task, which involves software, firmware, chip level
engineering, hardware, and electric pulses. To ease network engineering, the whole networking
concept is divided into multiple layers. Each layer is involved in some particular task and is
independent of all other layers. But as a whole, almost all networking tasks depend on all of these
layers. Layers share data between them and they depend on each other only to take input and send
output.
1. Layered Tasks : In layered architecture of Network Model, one whole network process is
divided into small tasks. Each small task is then assigned
to a particular layer which works dedicatedly to process
the task only. Every layer does only specific work.
In layered communication system, one layer of a host deals
with the task done by or to be done by its peer layer at
the same level on the remote host. The task is either
initiated by layer at the lowest level or at the top most
level. If the task is initiated by the-top most layer, it is
passed on to the layer below it for further processing.
The lower layer does the same thing, it processes the
task and passes on to lower layer. If the task is initiated by lower most layer, then the reverse path
is taken.

2. OSI Model : Open System Interconnect is an open standard for all communication systems.
OSI model is established by International Standard Organization (ISO). This model
has seven layers:

 Application Layer: This layer is responsible for providing interface to


the application user.

 Presentation Layer: This layer defines how data in the native format
of remote host should be presented in the native format of host.

 Session Layer: This layer maintains sessions between remote hosts.


 Transport Layer: This layer is responsible for end-to-end delivery between hosts.

 Network Layer: This layer is responsible for address assignment and uniquely
addressing hosts in a network.

 Data Link Layer: This layer is responsible for reading and writing data from and onto
the line. Link errors are detected at this layer.

 Physical Layer: This layer defines the hardware, cabling wiring, power output, pulse
rate etc.

3. Internet Model : Internet uses TCP/IP protocol suite, also known as Internet suite. This
defines Internet Model which contains four layered architecture. OSI Model is general
communication model but Internet Model is what the internet uses for all its communication. The
internet is independent of its underlying network architecture so is its Model. This model has the
following layers:

 Application Layer: This layer defines the protocol which enables


user to interact with the network.For example, FTP, HTTP etc.

 Transport Layer: This layer defines how data should flow


between hosts. Major protocol at this layer is Transmission Control Protocol
(TCP).

 Internet Layer: Internet Protocol (IP) works on this layer. This


layer facilitates host addressing and recognition. This layer defines routing.

 Link Layer: This layer provides mechanism of sending and receiving actual data.

 Switching is process to forward packets coming in from one port to a port leading towards
the destination. In a telecommunications network, a switch is a device that channels incoming data
from any of multiple input ports to the specific output port that will take the data toward its
intended destination. When data comes on a port it is called ingress, and when data leaves a port or
goes out it is called egress. A communication system may include number of switches and nodes. At
broad level, switching can be divided into two major categories:

1. Connectionless: The data is forwarded on behalf of forwarding tables. No previous


handshaking is required and acknowledgements are optional.
2. Connection Oriented:  Before switching data to be forwarded to destination, there is a need
to pre-establish circuit along the path between both endpoints. Data is then forwarded on that
circuit. After the transfer is completed, circuits can be kept for future use or can be turned
down immediately.

1. Circuit Switching : When two nodes communicate with each other over a dedicated
communication path, it is called circuit switching. There is a need of pre-specified route from which
data will travels and no other data is permitted. In circuit switching, to transfer the data, circuit
must be established so that the data transfer can take place. Circuit switching was designed for
voice applications. Telephone is the best suitable example of circuit switching. Before a user can
make a call, a virtual path between caller and callee is established over the network.

2. Message Switching : This technique was somewhere in middle of circuit switching and packet
switching. In message switching, the whole
message is treated as a data unit and is
switching / transferred in its entirety.
A switch working on message switching, first
receives the whole message and buffers it
until there are resources available to
transfer it to the next hop. If the next hop
is not having enough resource to
accommodate large size message, the
message is stored and switch waits.

3. Packet Switching : Shortcomings of message switching gave birth to an idea of packet


switching. The entire message is broken down into smaller chunks called packets. The switching
information is added in the header of each packet and transmitted independently.
It is easier for intermediate networking devices to store
small size packets and they do not take much
resources either on carrier path or in the internal
memory of switches.

The internet uses packet switching technique. Packet


switching enables the user to differentiate data
streams based on priorities. Packets are stored and
forwarded according to their priority to provide
quality of service.

 Client/Server computing : It is a computing model in which client and server computers


communicate with each other over a network. In
client/server computing, a server takes requests from
client computers and shares its resources, applications
and/or data with one or more client computers on the
network, and a client is a computing device that initiates
contact with a server in order to make use of a shareable
resource.
The client uses the network as a way to connect with and
speak to the server. Just as the customer speaks to his
server, the client uses the network to send and receive
communications about its order, or request. The server will take the request and make sure that the
request is valid. If everything checks out okay, then the server will fetch the request and serve the
client.
The server can make a request from the client as well. It may want to check up on the status of the
client, or ask if it has received any security patches, or if it still needs resources from the server. If
not, the server will close the connection in order to free up network traffic.

 File Transfer Protocol (FTP) File Transfer Protocol (FTP) is the commonly used protocol for


exchanging files over the Internet. FTP uses the Internet's TCP/IPprotocols to enable data
transfer. FTP works in the same way as HTTP for transferring Web pages from a server to a user's
browser and SMTP for transferring electronic mail across the Internet in that, like these
technologies. Files can be transferred between two computers using FTP software. The user's
computer is called the local host machine and is connected to the Internet. The second machine,
called the remote host, is also running FTP software and connected to the Internet.
FTP is a client-server protocol that relies on two communications channels between client and server: a
command channel for controlling the conversation and a data channel for transmitting file content.
Clients initiate conversations with servers by requesting to download a file. Using FTP, a client can
upload, download, delete, rename, move and copy files on a server. A user typically needs to log
on to the FTP server, although some servers make some or all of their content available without
login, also known as anonymous FTP.

 Remote login : uses simple desktop sharing software to give you a "remote control" for
accessing your computer -- and all of its software and hard drive files -- from any Internet-connected
device anywhere in the world.
Remote login works exactly the same way as desktop sharing. In desktop sharing, there are two
separate parties: the host computer and the remote user. To share a desktop, the host computer
allows a remote user to view the contents of the host computer's desktop over the Internet. The
host computer can also hand over keyboard and mouse controls to the remote user. With remote
log-in, your home or work computer is the host and you (in this case) are the remote user.

Remote login requires three basic components:

1. Software download
2. Internet connection
3. Secure desktop sharing network

For remote login to work, both the host computer and all remote users have to download and install
the same desktop sharing software. Remote login will only work if the host computer is powered
on, connected to the Internet and running the desktop sharing software. Each time you open and
run the desktop sharing software on the host computer, the software starts a new session. Each
session has a particular ID and/or password that's required to remotely log in to the host
computer. Once the session has been established, most desktop sharing software quietly runs in
the background of the host computer until a remote login request is made.

 Electronic mail, email : e-mail is defined as the transmission of messages


over communications networks. Typically the messages are notes entered from the keyboardor
electronic files stored on disk. Most mainframes, minicomputers, and computer networks have an
email system.
Some electronic mail systems are confined to a single computer system or network, but others
have gateways to other computer systems, enabling users to send electronic mail anywhere in the
world. Companies that are fully computerized make extensive use of e-mail because it is fast,
flexible, and reliable.

 Frames: HTML frames are used to divide your browser window into multiple sections where
each section can load a separate HTML document. A collection of frames in the browser window is
known as a frameset. The window is divided into frames in a similar way the tables are organized:
into rows and columns.

Creating Frames
To use frames on a page we use <frameset> tag instead of <body> tag. The <frameset> tag defines,
how to divide the window into frames. The rows attribute of <frameset> tag defines horizontal
frames and cols attribute defines vertical frames. Each frame is indicated by <frame> tag and it
defines which HTML document shall open into the frame.
Example : <html>

<head>

<title>HTML Frames</title>

</head>

<frameset rows = "10%,80%,10%">

<frame name = "top" src = "/html/top_frame.htm" />

<frame name = "main" src = "/html/main_frame.htm" />

<frame name = "bottom" src = "/html/bottom_frame.htm" />

<noframes>

<body>Your browser does not support frames.</body>

</noframes>

</frameset>

</html>
<frameset>Attribute & Description

cols : Specifies how many columns are contained in the frameset and the size of each column. You can
specify the width of each column in following ways −

Absolute values in pixels. For example, to create three vertical frames, use cols = "100, 500, 100".

A percentage of the browser window. For example, to create three vertical frames, use cols = "10%, 80%,
10%".

rows : This attribute works just like the cols attribute and takes the same values, but it is used to specify
the rows in the frameset. For example, to create two horizontal frames, use rows = "10%, 90%". You can
specify the height of each row in the same way as explained above for columns.

border : This attribute specifies the width of the border of each frame in pixels. For example, border =
"5". A value of zero means no border.

frameborder : This attribute specifies whether a three-dimensional border should be displayed between
frames. This attribute takes value either 1 (yes) or 0 (no). For example frameborder = "0" specifies no
border.

framespacing : This attribute specifies the amount of space between frames in a frameset. This can take
any integer value. For example framespacing = "10" means there should be 10 pixels spacing between
each frames.

<frame>Attribute & Description

src :This attribute is used to give the file name that should be loaded in the frame. Its value can be any URL.
For example, src = "/html/top_frame.htm" will load an HTML file available in html directory.
name : This attribute allows you to give a name to a frame. It is used to indicate which frame a document
should be loaded into. This is especially important when you want to create links in one frame that load pages
into an another frame, in which case the second frame needs a name to identify itself as the target of the link.

marginwidth : This attribute allows you to specify the width of the space between the left and right of the
frame's borders and the frame's content. The value is given in pixels. For example marginwidth = "10".

marginheight : This attribute allows you to specify the height of the space between the top and bottom of the
frame's borders and its contents. The value is given in pixels. For example marginheight = "10".

scrolling : This attribute controls the appearance of the scrollbars that appear on the frame. This takes values
either "yes", "no" or "auto". For example scrolling = "no" means it should not have scroll bars.

 HTML Helpers (Plug-ins) : Helper applications (plug-ins) are computer programs that extend
the standard functionality of a web browser.

Examples of well-known plug-ins are Java applets.

Plug-ins can be added to web pages with the <object> tag or the <embed> tag. 

Plug-ins can be used for many purposes: display maps, scan for viruses, verify your bank id, etc.

The <object> Element

The <object> element is supported by all browsers.

The <object> element defines an embedded object within an HTML document.

It is used to embed plug-ins (like Java applets, PDF readers, Flash Players) in web pages.

Example

<object data="audi.jpeg"></object>
 DHTML : DHTML stands for Dynamic HTML. DHTML is NOT a language or a web standard.
DHTML is a TERM used to describe the technologies used to make web pages dynamic and
interactive. To most people DHTML means the combination of HTML, JavaScript, DOM, and CSS.

Dynamic HTML, or DHTML, is an umbrella term for a collection of technologies used together to
create interactive and animated web sites by using a combination of a static markup language
(such as HTML), a client-side scripting language (such as JavaScript), a presentation definition
language (such as CSS), and the programming interface through which a page's code can be
changed. (such as Document Object Model). DHTML allows scripting languages to change
variables in a web page's definition language, which in turn affects the look and function of
otherwise "static" HTML page content, after the page has been fully loaded and during the
viewing process. Thus the dynamic characteristic of DHTML is the way it functions while a page is
viewed, not in its ability to generate a unique page with each page load. By contrast, a dynamic
web page is a broader concept — any web page generated differently for each user, load
occurrence, or specific variable values. This includes pages created by client-side scripting, and
ones created by server-side scripting (such as PHP, Perl, JSP or ASP.NET) where the web server
generates content before sending it to the client.

DHTML Technologies

With DHTML a Web developer can control how to display and position HTML elements in a
browser window. HTML 4.0 , Cascading Style Sheets (CSS) , Document Object Model , JavaScript
(and VBScript)

 JavaScript Datatypes : One of the most fundamental characteristics of a programming


language is the set of data types it supports. JavaScript allows you to work with three primitive
data types −

Numbers, eg. 123, 120.50 etc.

Strings of text e.g. "This text string" etc.

Boolean e.g. true or false.

JavaScript also defines two trivial data types, null and undefined, each of which defines only a
single value. In addition to these primitive data types, JavaScript supports a composite data type
known as object
 JavaScript Variables : Variables can be thought of as named containers. You can place data
into these containers and then refer to the data simply by naming the container.

Before you use a variable in a JavaScript program, you must declare it. Variables are declared
with the var keyword as follows.

<script type="text/javascript">

<!--

var money, name;

//-->

</script>

Storing a value in a variable is called variable initialization. You can do variable initialization at


the time of variable creation or at a later point in time when you need that variable.

<script type="text/javascript">

<!--

var name = "Ali";

var money;

money = 2000.50;

//-->

</script>

 Expressions : An expression is any valid set of literals, variables, operators, and expressions
that evaluates to a single value. The value may be a number, a string, or a logical value.
Conceptually, there are two types of expressions: those that assign a value to a variable, and those
that simply have a value. For example, the expression

x=7

is an expression that assigns x the value 7. This expression itself evaluates to 7. Such expressions
use assignment operators. On the other hand, the expression

3+4
simply evaluates to 7; it does not perform an assignment. The operators used in such expressions
are referred to simply as operators.

JavaScript supports the following types of operators.

 Arithmetic Operators ( +, -, %, /, * , ++ , --)


 Comparison Operators (==,!=, >,<,>=,<=)
 Logical (or Relational) Operators (&&, ||, !)
 Assignment Operators (=,+=,-=,*=,/=,%=)
 Conditional (or ternary) Operators (? : (Conditional )

If Condition is true? Then value X : Otherwise value Y)

 Bitwise operators. (&,|,^,~,>>,<<,>>>)


This program can be used for comparison, logical, assignment operators also.

<html>

<body>

<script type="text/javascript">

var a = 33, b = 10, c = "Test";

var linebreak = "<br />";

document.write("a + b = ");

result = a + b;

document.write(result);

document.write(linebreak);

document.write("a - b = ");

result = a - b;

document.write(result);

document.write(linebreak);
document.write("a / b = ");

result = a / b;

document.write(result);

document.write(linebreak);

document.write("a % b = ");

result = a % b;

document.write(result);

document.write(linebreak);

document.write("a + b + c = ");

result = a + b + c;

document.write(result);

document.write(linebreak);

a = ++a;

document.write("++a = ");

result = ++a;

document.write(result);

document.write(linebreak);

b = --b;

document.write("--b = ");

result = --b;
document.write(result);

document.write(linebreak);

</script>

</body>

</html>

 typeof Operator : The typeof operator is a unary operator that is placed before its single
operand, which can be of any type. Its value is a string indicating the data type of the operand.
The typeof operator evaluates to "number", "string", or "boolean" if its operand is a number,
string, or boolean value and returns true or false based on the evaluation.

 JavaScript Statements : In HTML, JavaScript statements are "instructions" to be "executed"


by the web browser.

example : document.getElementById("demo").innerHTML = "Hello Dolly.";

This statement tells the browser to write "Hello Dolly." inside an HTML element with id="demo":

Most JavaScript programs contain many JavaScript statements. The statements are executed, one
by one, in the same order as they are written.

In this example x, y, and z are given values, and finally z is displayed:

var x, y, z;
x = 5;
y = 6;
z = x + y;
document.getElementById("demo").innerHTML = z;

These distinct groups of statements include:

1. Conditional Statements(if statement, if...else statement , if...else if... statement.)


2. Loop Statements

 JavaScript - Functions : A function is a group of reusable code which can be called anywhere
in your program. This eliminates the need of writing the same code again and again. It helps
programmers in writing modular codes. Functions allow a programmer to divide a big program into
a number of small and manageable functions.
Syntax Example
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
function functionname(parameter-list) function sayHello()
{ {
statements alert("Hello there");
} }
//--> //-->
</script> </script>

Calling a Function Function Parameters


<html> <html>
<head> <head>
<script type="text/javascript"> <script type="text/javascript">
function sayHello() function sayHello(name, age)
{ {
document.write ("Hello there!"); document.write (name + " is " + age + " years
} old.");
</script> }
</head> </script>
<body> </head>
<p>Click the following button to call the <body>
function</p> <p>Click the following button to call the
<form> function</p>
<input type="button" <form>
onclick="sayHello()" value="Say Hello"> <input type="button" onclick="sayHello('Zara',
</form> 7)" value="Say Hello">
<p>Use different text in write method and </form>
then try...</p> <p>Use different parameters inside the function
</body> and then try...</p>
</html> </body>
</html>

JavaScript can "display" data in different ways:

 Writing into an HTML element, using innerHTML.


 Writing into the HTML output using document.write().
 Writing into an alert box, using window.alert().
 Writing into the browser console, using console.log().

document.getElementById(id) Using document.write() Using window.alert()


 method
<html>
<html> <html>
<body>
<body> <body>
<h1>My First Web Page</h1>
<h1>My First Web Page</h1>
<p>My First Paragraph</p> <h1>My First Web Page</h1>
<p>My first paragraph.</p>
<p id="demo"></p> <p>My first paragraph.</p>
<script>
<script> <script>
document.write(5 + 6);
document.getElementById("demo"). window.alert(5 + 6);
</script>
innerHTML = 5 + 6; </script>
</body>
</script> </body>
</html>
</body> </html>
</html>

 JavaScript Objects : In JavaScript, almost "everything" is an object. Booleans,


Numbers, Strings can be objects (if defined with the new keyword) as well as Dates ,
Maths , Functions, etc..

All JavaScript values, except primitives(A primitive value is a value that has no properties or methods.),
are objects. JavaScript defines 5 types of primitive data types: string , number , boolean , null ,
undefined.

Objects can contain many values. The values are written as name : value pairs (name and value
separated by a colon).

Example : var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

 Creating a JavaScript Object

With JavaScript, you can define and create your own objects.

There are different ways to create new objects:

 Define and create a single object, using an object literal.


 Define and create a single object, with the keyword new.
 Define an object constructor, and then create objects of the constructed type.

Using an Object Literal Using the Keyword new


Using an object literal, you both define and With the Keyword new, you have o define and create
create an object in one statement. an object seprately
var person = { var person = new Object();
    firstName:"John", person.firstName = "John";
    lastName:"Doe", person.lastName = "Doe";
    age:50, person.age = 50;
    eyeColor:"blue" person.eyeColor = "blue";
};

 The String object lets you work with a series of characters; it wraps Javascript's string
primitive data type with a number of helper methods.

As JavaScript automatically converts between string primitives and String objects, you can call any of
the helper methods of the String object on a string primitive.

Syntax

Use the following syntax to create a String object −

var val = new String(string);

String Method & Description

charAt()

Returns the character at the specified index.

concat()

Combines the text of two strings and returns a new string.

indexOf()

Returns the index within the calling String object of the first occurrence of the specified value, or -1 if not
found.

lastIndexOf()

Returns the index within the calling String object of the last occurrence of the specified value, or -1 if not
found.

substr()

Returns the characters in a string beginning at the specified location through the specified number of
characters.

toLowerCase()

Returns the calling string value converted to lower case.

toString()

Returns a string representing the specified object.

toUpperCase()

Returns the calling string value converted to uppercase.

valueOf()

Returns the primitive value of the specified object.

 The Array object lets you store multiple values in a single variable. It stores a fixed-size
sequential collection of elements of the same type. An array is used to store a collection of data, but
it is often more useful to think of an array as a collection of variables of the same type.

Syntax

Use the following syntax to create an Array object −

var fruits = new Array( "apple", "orange", "mango" );

Array Method & Description

concat()
Returns a new array comprised of this array joined with other array(s) and/or value(s).

every()

Returns true if every element in this array satisfies the provided testing function.

forEach()

Calls a function for each element in the array.

indexOf()

Returns the first (least) index of an element within the array equal to the specified value, or -1 if none is
found.

join()

Joins all elements of an array into a string.

pop()

Removes the last element from an array and returns that element.

push()

Adds one or more elements to the end of an array and returns the new length of the array.

sort()

Sorts the elements of an array

class declaration class expression


One way to define a class is using a class declaration. To A class expression is another way to define a class. Class
declare a class, you use the class keyword with the name of expressions can be named or unnamed. The name given to
the class ("Rectangle" here). a named class expression is local to the class's body.

class Rectangle { // unnamed


constructor(height, width) { var Rectangle = class {
this.height = height; constructor(height, width) {
this.width = width; this.height = height;
} this.width = width;
} }
};

// named
var Rectangle = class Rectangle {
constructor(height, width) {
this.height = height;
this.width = width;
}
};

 JS classes : Classes are in fact "special functions", and just as you can define function
expressions and function declarations, the class syntax has two components: class expressions and class
declarations.

 jQuery is a JavaScript Library. jQuery greatly simplifies JavaScript programming. jQuery


created by John Resig in 2006. jQuery simplifies HTML document traversing, event handling,
animating, and Ajax interactions for Rapid Web Development.

jQuery is a fast, lightweight, and feature-rich JavaScript library that is based on the priciple "write
less, do more". It's easy-to-use APIs makes the things like HTML document traversal and
manipulation, event handling, adding animation effects to a web page much simpler that works
seamlessly across all the major browsers. jQuery also gives you the ability to create an Ajax based
application in a quick and simple way.

 Cookies are data, stored in small text files, on your computer. When a web server has sent a
web page to a browser, the connection is shut down, and the server forgets everything about the
user. Cookies were invented to solve the problem "how to remember information about the user":

 When a user visits a web page, his name can be stored in a cookie.
 Next time the user visits the page, the cookie "remembers" his name.

Cookies are saved in name-value pairs like: username = John Doe


JavaScript can create, read, and delete cookies with the document.cookie property.

With JavaScript, a cookie can be created like this:

document.cookie = "username=John Doe";

With JavaScript, cookies can be read like this:

var x = document.cookie;

 CGI : The Common Gateway Interface, or CGI, is a set of standards that define how information is
exchanged between the web server and a custom script. CGI, is a standard for external gateway
programs to interface with information servers such as HTTP servers.
To understand the concept of CGI, lets see what happens when we click a hyper link to browse a
particular web page or URL.

1. Your browser contacts the HTTP web server and demand for the URL ie. filename.
2. Web Server will parse the URL and will look for the filename in if it finds that file then sends back to
the browser otherwise sends an error message indicating that you have requested a wrong file.
3. Web browser takes response from web server and displays either the received file or error message.

However, it is possible to set up the HTTP server so that whenever a file in a certain directory is
requested that file is not sent back; instead it is executed as a program, and whatever that program
outputs is sent back for your browser to display. This function is called the Common Gateway
Interface or CGI and the programs are called CGI scripts. These CGI programs can be a PERL Script,
Shell Script, C or C++ program etc.

 CGI Architecture Diagram : Essentially, CGI is an interface that delivers


information from the server to your program and from your program back to the
requesting client. It is not a programming language. The program does all the
processing. CGI only gets data to the program. CGI is a standard that allows
programmers to write programs that can access information servers and
databases, and then send the information to users on an intranet. Using CGI, Web-
based intranet technologies can communicate with non-TCP/IP resources and
databases. Using CGI, an intranet programmer can write an application that
searches a database and displays the result in HTML format. CGI is used to allow
people to fill out corporate forms on an intranet, and have that information entered into a
database.
 AJAX stands for Asynchronous JavaScript and XML. AJAX is a new technique for creating
better, faster, and more interactive web applications with the help of XML, HTML, CSS, and Java
Script.

AJAX is a developer's dream, because you can:

 Update a web page without reloading the page


 Request data from a server - after the page has loaded
 Receive data from a server - after the page has loaded
 Send data to a server - in the background

Ajax uses XHTML for content, CSS for presentation, along with Document Object Model and
JavaScript for dynamic content display.
AJAX is a web browser technology independent of web server software.
A user can continue to use the application while the client program requests information from the
server in the background. With AJAX, when you hit submit, JavaScript will make a request to the
server, interpret the results, and update the current screen. In the purest sense, the user would
never know that anything was even transmitted to the server.

 Regular expression: It is an object that describes a pattern of characters. The


JavaScript RegExp class represents regular expressions, and both String and RegExp define
methods that use regular expressions to perform powerful pattern-matching and search-and-
replace functions on text.

Syntax : A regular expression could be defined with the RegExp () constructor, as follows −

var pattern = new RegExp(pattern, attributes);

or simply

var pattern = /pattern/attributes;

Here is the description of the parameters −

pattern − A string that specifies the pattern of the regular expression or another regular
expression.

attributes − An optional string containing any of the "g", "i", and "m" attributes that specify global,
case-insensitive, and multiline matches, respectively.

You might also like