0% found this document useful (0 votes)
11 views23 pages

Web Technology Notes

The document provides an introduction to web applications, detailing their architecture, key components (frontend, backend, database, web server, and APIs), and essential concepts such as the client-server model and security. It also covers TCP/IP application services, web technologies like HTML5 and CSS3, and markup languages like XML and XHTML. Additionally, it discusses web services including SOAP and REST, highlighting their roles in data exchange and service interaction.

Uploaded by

Toba tariq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views23 pages

Web Technology Notes

The document provides an introduction to web applications, detailing their architecture, key components (frontend, backend, database, web server, and APIs), and essential concepts such as the client-server model and security. It also covers TCP/IP application services, web technologies like HTML5 and CSS3, and markup languages like XML and XHTML. Additionally, it discusses web services including SOAP and REST, highlighting their roles in data exchange and service interaction.

Uploaded by

Toba tariq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Lecture#1: Introduction to Web Applications

Web applications are software programs that run on a web server and are accessed through a
web browser over the internet or an intranet. Unlike traditional desktop applications, which are
installed locally on a user's computer, web applications operate on a client-server model where
the server hosts the application and the client interacts with it via a web interface.

Key Components of Web Applications

1. Frontend: The frontend is the user interface of the web application. It’s what users see
and interact with in their web browsers. It is built using technologies such as:

a. HTML (HyperText Markup Language): Provides the structure of the web page.

b. CSS (Cascading Style Sheets): Controls the layout and appearance of the web page.

c. JavaScript: Adds interactivity and dynamic behavior to the web page. Frameworks
like React, Angular, and Vue.js are popular for building complex user interfaces.

2. Backend: The backend is the server-side part of the web application that processes
requests, performs logic, interacts with databases, and sends responses back to the client.
It is built using server-side languages and frameworks such as:

a. Node.js: JavaScript runtime for server-side development.

b. Python with frameworks like Django or Flask.

c. Ruby with Ruby on Rails.

d. Java with frameworks like Spring.

e. PHP: Widely used for web development.

3. Database: Web applications often rely on databases to store and retrieve data. Common
types of databases include:

a. Relational Databases: Use SQL (Structured Query Language) for managing


structured data (e.g., MySQL, PostgreSQL, SQLite).
b. NoSQL Databases: Designed for unstructured or semi-structured data (e.g.,
MongoDB, Redis).

4. Web Server: The web server hosts the web application and serves requests from clients.
Popular web servers include:

a. Apache HTTP Server

b. Nginx

c. Microsoft Internet Information Services (IIS)

5. API (Application Programming Interface): APIs allow different software systems to


communicate with each other. Web applications often use APIs to interact with external
services or other components of the system. REST (Representational State Transfer) and
GraphQL are common API design styles.

Key Concepts

• Client-Server Model: Web applications operate on a client-server architecture where the


client (web browser) makes requests to the server, and the server responds with the
necessary data or instructions.
• HTTP/HTTPS: HyperText Transfer Protocol (HTTP) is the foundation of data
communication on the web. HTTPS is the secure version of HTTP, using encryption to
protect data transmitted between the client and server.
• Session Management: Web applications often need to maintain state between requests.
Techniques like cookies, sessions, and tokens are used to manage user authentication and
maintain state.
• Responsive Design: Ensures that web applications work well on a variety of devices and
screen sizes, from desktops to smartphones. This is achieved through flexible layouts,
media queries, and responsive frameworks.
• Security: Web applications need to address various security concerns such as
authentication, authorization, data encryption, and protection against threats like SQL
injection, cross-site scripting (XSS), and cross-site request forgery (CSRF).
• Planning and Requirements Gathering: Define the scope, functionality, and goals of the
web application.
• Design: Create wireframes and mockups for the user interface and user experience
(UI/UX) design.
• Development: Build the frontend and backend components, integrate the database, and
implement functionality.
• Testing: Conduct various types of testing (e.g., unit testing, integration testing, usability
testing) to ensure the application works as expected.
• Deployment: Deploy the web application to a production server so users can access it.
This might involve configuring servers, setting up continuous integration/continuous
deployment (CI/CD) pipelines, and ensuring scalability.
• Maintenance: Monitor the application for issues, release updates, and perform regular
maintenance to ensure ongoing performance and security.

TCP/IP Application Services

TCP/IP (Transmission Control Protocol/Internet Protocol) is the fundamental suite of


communication protocols used to connect devices on the internet and many local networks.
When we talk about TCP/IP application services, we're referring to various protocols and services
that operate on top of the TCP/IP stack to provide network functionality and services to
applications. Here’s an overview of some key TCP/IP application services:

Common TCP/IP Application Services

1. HTTP (HyperText Transfer Protocol):

• Port: 80 (HTTP), 443 (HTTPS)


• Purpose: HTTP is used for transferring web pages and other resources from a web
server to a web browser. HTTPS is the secure version of HTTP, encrypting data to
protect it during transmission.

2. FTP (File Transfer Protocol):

• Port: 21 (control), 20 (data)

• Purpose: FTP is used for transferring files between a client and server. It supports
various modes (active and passive) and can use different authentication methods.

3. SFTP (SSH File Transfer Protocol):

• Port: 22

• Purpose: SFTP is a secure version of FTP that uses SSH (Secure Shell) to encrypt the
data transfer, providing confidentiality and integrity.

4. SMTP (Simple Mail Transfer Protocol):

• Port: 25

• Purpose: SMTP is used for sending email messages between servers. It handles the
transmission of email from the client to the mail server and between mail servers.

5. POP3 (Post Office Protocol version 3):

• Port: 110

• Purpose: POP3 is used for retrieving email from a server. It downloads emails from
the server to the local client and typically removes them from the server.

6. IMAP (Internet Message Access Protocol):

• Port: 143 (IMAP), 993 (IMAPS)


• Purpose: IMAP allows email clients to access and manage email on the server. It
supports multiple devices accessing the same mailbox and maintains emails on the
server.

7. DNS (Domain Name System):

• Port: 53

• Purpose: DNS translates human-readable domain names (like www.example.com)


into IP addresses that computers use to identify each other on the network.

8. DHCP (Dynamic Host Configuration Protocol):

• Port: 67 (server), 68 (client)

• Purpose: DHCP automatically assigns IP addresses and other network


configuration parameters to devices on a network, enabling them to communicate
with other IP networks.

9. Telnet:

• Port: 23

• Purpose: Telnet is used for remote command-line interface access to network


devices and servers. It’s generally replaced by SSH due to security concerns, as
Telnet transmits data in plaintext.

10. SSH (Secure Shell):

• Port: 22

• Purpose: SSH provides a secure channel for remote administration of systems and
secure file transfers (via SFTP or SCP). It encrypts the communication to protect
against eavesdropping and tampering.
WEB TECHNOLOGIES
SGML (Standard Generalized Markup Language), HTML5 (Hypertext Markup Language
version 5), and CSS3 (Cascading Style Sheets level 3) are all technologies related to the
structuring and presentation of content on the web. Here's an overview of each:

1. SGML (Standard Generalized Markup Language)

• Overview: SGML is a standard for defining generalized markup languages for


documents. It is not used directly on the web but forms the basis for languages like
HTML and XML.

• Usage: SGML is used to define the structure of documents, allowing users to


create their own custom markup languages. HTML was initially derived from
SGML.

• Importance: SGML is more flexible and complex than HTML, allowing for the
definition of more complex document structures, but this also made it more
cumbersome to use, leading to the adoption of simpler markup languages like
HTML.

2. HTML5 (Hypertext Markup Language version 5)

• Overview: HTML5 is the fifth and latest major version of HTML, the standard
language for creating and structuring web pages.

• New Features:

o Semantic Elements: Introduction of elements like <header>, <footer>,


<article>, and <section> to improve the semantic structure of web content.

o Multimedia Support: Built-in support for audio and video elements


(<audio> and <video>), reducing the need for external plugins.

o Canvas and SVG: <canvas> and <svg> elements allow for dynamic,
scriptable rendering of 2D graphics and animations directly in the browser.

PREPARED BY: SYEDA ASMA 1


o APIs: New APIs like Geolocation, Web Storage, and WebSockets were
introduced to enhance the functionality of web applications.

• Importance: HTML5 is widely used in modern web development for creating rich,
interactive, and accessible web content.

3. CSS3 (Cascading Style Sheets level 3)

• Overview: CSS3 is the latest evolution of the Cascading Style Sheets language,
used to control the presentation and layout of web pages.

• New Features:

o Modules: CSS3 is divided into modules, allowing for the introduction of new
features independently of one another (e.g., Selectors, Box Model,
Backgrounds and Borders, Animations).

o Responsive Design: Media queries in CSS3 enable responsive design,


allowing web content to adapt to different screen sizes and devices.

o Visual Effects: CSS3 introduces new visual effects like transitions,


animations, and transforms, allowing for more interactive and visually
appealing websites.

o Web Fonts: CSS3 supports custom web fonts through the @font-face rule,
allowing for the use of a wider variety of fonts on websites.

• Importance: CSS3 is essential for modern web design, providing powerful tools
for creating visually appealing and responsive web pages.

These three technologies form the foundation of modern web development, enabling the
creation of structured, interactive, and visually appealing websites.

PREPARED BY: SYEDA ASMA 2


“Languages and application: Core XML, XHTML,
XHTM MP”
The languages Core XML, XHTML, and XHTML MP are all based on XML (eXtensible
Markup Language) and are used for structuring and representing data in a variety of
applications, especially in web development and mobile technologies. Here's a
breakdown of each:

1. Core XML (eXtensible Markup Language)

• Overview: XML is a markup language that defines a set of rules for encoding
documents in a format that is both human-readable and machine-readable.

• Purpose: Unlike HTML, XML is not a fixed language but a framework that allows
the creation of custom markup languages for specific applications. It is often used
for data representation, configuration files, document storage, and data
interchange between systems.

• Applications:

o Data Storage and Transport: XML is widely used for storing and
transporting data in web services, APIs, and other applications.

o Configuration Files: Many software applications use XML to store


configuration settings.

o Custom Markup Languages: XML forms the basis for many other markup
languages, such as XHTML and SVG (Scalable Vector Graphics).

2. XHTML (eXtensible Hypertext Markup Language)

PREPARED BY: SYEDA ASMA 3


• Overview: XHTML is a reformulation of HTML as an application of XML. It is
stricter than HTML, enforcing well-formedness rules to ensure that documents are
both human-readable and machine-readable.

• Purpose: XHTML was developed to ensure that web content can be easily
interpreted by both browsers and XML-based tools. It helps maintain compatibility
with XML-based applications.

• Key Features:

o Strict Syntax Rules: All elements must be properly nested and closed, and
attribute values must be quoted.

o Compatibility: XHTML can be served as either text/html (like HTML) or


application/xhtml+xml (as an XML document).

• Applications:

o Web Development: XHTML is used for creating web pages that adhere to
stricter standards than traditional HTML, improving consistency across
different browsers and devices.

o Mobile Web: XHTML is used in mobile applications and content delivery


due to its compatibility with XML.

3. XHTML MP (XHTML Mobile Profile)

• Overview: XHTML MP is a subset of XHTML designed specifically for mobile


devices. It extends XHTML Basic, which is a simplified version of XHTML aimed at
mobile and low-powered devices.

• Purpose: XHTML MP is tailored for mobile devices with limited processing power
and display capabilities. It is designed to ensure that content can be displayed
properly on a wide range of mobile devices.

• Key Features:

PREPARED BY: SYEDA ASMA 4


o Device Independence: XHTML MP enables content to be rendered
consistently across various mobile devices, regardless of screen size or
capabilities.

o Simplified Markup: It includes only a core set of XHTML elements,


avoiding complex features that may not be supported on all devices.

• Applications:

o Mobile Web Development: XHTML MP is used to create web pages that


are optimized for mobile phones, PDAs, and other handheld devices.

o WAP 2.0: XHTML MP was adopted as the standard markup language for
WAP 2.0, a protocol used to access information over a mobile wireless
network.

4. Summary

• Core XML: A flexible markup language used for data representation and the
foundation for many other markup languages.

• XHTML: A stricter, XML-based version of HTML, ensuring well-formedness and


compatibility with XML tools.

• XHTML MP: A mobile-focused subset of XHTML, designed for optimal rendering


on mobile devices.

PREPARED BY: SYEDA ASMA 5


“ Web Service: SOAP , REST, WML, XSL

When discussing web services and related technologies, SOAP, REST, WML, and XSL
are essential concepts that play different roles in data exchange, service interaction,
and content transformation. Here's a detailed overview of each:

1. SOAP (Simple Object Access Protocol)

• Overview: SOAP is a protocol used for exchanging structured information in the


implementation of web services in computer networks. It relies on XML as its
message format and usually operates over HTTP or SMTP.

• Purpose: SOAP enables communication between applications running on


different operating systems, with different technologies and programming
languages.

• Key Features:

o XML-Based Messaging: SOAP messages are formatted in XML, making


them platform-independent.

PREPARED BY: SYEDA ASMA 6


o Protocol Neutrality: SOAP can be used over various transport protocols
like HTTP, SMTP, TCP, etc.

o Extensibility: SOAP allows for the use of custom headers and supports
features like security, transaction management, and more through SOAP
extensions.

• Applications:

o Enterprise-Level Web Services: SOAP is often used in large, complex


systems where robust security, reliability, and transactional support are
critical.

o Interoperability: SOAP is commonly used when interacting with legacy


systems or when a high level of interoperability between different systems
is required.

2. REST (Representational State Transfer)

• Overview: REST is an architectural style for designing networked applications,


often used to build lightweight web services that operate over HTTP. RESTful
services are stateless and typically use standard HTTP methods (GET, POST,
PUT, DELETE).

• Purpose: REST simplifies interaction with web services by using standard web
protocols and focusing on resources rather than complex messaging protocols.

• Key Features:

o Resource-Based: REST treats everything as a resource, identified by URIs


(Uniform Resource Identifiers).

o Statelessness: Each request from a client to a server must contain all the
information needed to understand and process the request. The server
does not store any session state.

o Scalability and Performance: RESTful services are lightweight, making


them suitable for large-scale, high-performance systems.

PREPARED BY: SYEDA ASMA 7


o Use of HTTP Methods: RESTful services use standard HTTP methods
(GET, POST, PUT, DELETE) for CRUD (Create, Read, Update, Delete)
operations.

• Applications:

o Web APIs: REST is widely used in the development of APIs for web and
mobile applications, due to its simplicity and compatibility with web
standards.

o Microservices: REST is a common choice for communication between


microservices in distributed systems.

3. WML (Wireless Markup Language)

• Overview: WML is a markup language based on XML, specifically designed for


devices with small screens, such as mobile phones and PDAs. It was part of the
WAP (Wireless Application Protocol) standard.

• Purpose: WML was created to deliver content to mobile devices with limited
display and processing capabilities, before the widespread adoption of modern
web standards like HTML5 on mobile devices.

• Key Features:

o Card and Deck Metaphor: WML documents are divided into "decks," with
each deck containing one or more "cards." Each card represents a single
interaction screen.

o Low Bandwidth Optimization: WML is optimized for low-bandwidth


networks, making it suitable for early mobile internet.

o Scriptability: WML includes WMLScript, a scripting language similar to


JavaScript, to add interactivity to mobile pages.

• Applications:

PREPARED BY: SYEDA ASMA 8


o Early Mobile Web Content: WML was widely used to create mobile websites
and services in the early days of mobile internet, particularly during the era
of WAP 1.0 and 1.1.

o Mobile Service Delivery: Before modern smartphones, WML was used by


content providers to deliver news, weather updates, and other information
to mobile users.

4. XSL (eXtensible Stylesheet Language)

• Overview: XSL is a family of languages used to transform and render XML


documents. The most common component of XSL is XSLT (XSL Transformations),
which is used to transform XML data into different formats like HTML, text, or other
XML documents.

• Purpose: XSL allows developers to define how XML documents should be


displayed or transformed, separating content from presentation.

• Key Features:

o Transformation: XSLT can be used to transform XML documents into other


formats, such as converting XML data into HTML for web presentation.

o XPath: XSLT uses XPath to navigate and select parts of an XML document
to be transformed.

o Styling: XSL-FO (XSL Formatting Objects) is another part of XSL used to


define the formatting of XML documents for printing or display.

• Applications:

o Data Transformation: XSLT is widely used to convert XML data into other
formats for different purposes, such as generating HTML from XML data or
converting XML data to PDF via XSL-FO.

o Content Styling: XSL is used in applications where the separation of


content and presentation is essential, such as in content management
systems.

PREPARED BY: SYEDA ASMA 9


5. Summary

• SOAP: A protocol for exchanging structured information in web services,


particularly suited for complex, enterprise-level applications.

• REST: An architectural style for building lightweight, scalable web services,


commonly used in web APIs and microservices.

• WML: A markup language for delivering content to early mobile devices with limited
capabilities, used primarily in the early mobile internet era.

• XSL: A language for transforming and rendering XML documents, with XSLT being
the most widely used for converting XML data into various formats.

PREPARED BY: SYEDA ASMA 10


WEEK#4: web services: operations, processing HTTP requests,
processing http responses, cookie coordination, privacy and P3P,
complex HTTP interaction, dynamic content delivery.

Web services operate over the internet using standardized protocols to allow different
applications to communicate and exchange data. Here's a breakdown of the key topics you
mentioned:

1. Operations in Web Services

• REST (Representational State Transfer) and SOAP (Simple Object Access Protocol) are
two primary web service operation models.

• REST is stateless and uses standard HTTP methods (GET, POST, PUT, DELETE) for
operations, while SOAP is more rigid and relies on XML for message formatting.

• WSDL (Web Services Description Language) is often used with SOAP to describe the
service operations.

2. Processing HTTP Requests

• Request Methods: Common methods include GET (retrieves data), POST (sends data to
the server), PUT (updates resources), and DELETE (removes resources).

• Headers: HTTP requests include headers such as Authorization, Accept, and Content-Type
to provide additional context to the server.

• Body: In methods like POST and PUT, the request body contains data, often in JSON, XML,
or form-data formats.

3. Processing HTTP Responses

• Status Codes: HTTP responses include status codes like 200 OK, 404 Not Found, 500
Internal Server Error, which indicate the result of the request.
• Headers: Response headers like Content-Type specify the format of the returned data,
while Set-Cookie can be used to send cookies to the client.

• Body: The response body contains the requested data or error messages, formatted in
HTML, JSON, or XML depending on the API or web service.

4. Cookie Coordination

• Cookies are small pieces of data stored on the client’s browser. They are used for
maintaining sessions, user preferences, and tracking.

• Cookies include parameters like Domain, Path, Expires, Secure, and HttpOnly.

• Web services can set and retrieve cookies through HTTP headers, specifically Set-Cookie
(to set a cookie) and Cookie (to retrieve a cookie in subsequent requests).

5. Privacy and P3P (Platform for Privacy Preferences)

• P3P was a protocol that allowed websites to declare their intended use of information
they collect about users in a standard format. However, its usage has largely declined due
to privacy laws such as GDPR and modern browser privacy practices.

• Modern Privacy Concerns: Today, web services prioritize privacy through clear privacy
policies, encrypted communication (using HTTPS), data minimization, and compliance
with regulations like GDPR and CCPA.

6. Complex HTTP Interaction

• Complex HTTP interactions involve various methods and mechanisms for coordinating
multiple requests, caching strategies, authentication, and security (OAuth, JWT tokens,
etc.).

• APIs often use pagination for handling large sets of data and caching (through headers
like ETag, Cache-Control) for efficiency.

• Rate limiting is used to prevent abuse and overloading of web services by limiting the
number of requests a client can make in a given period.
7. Dynamic Content Delivery

• Dynamic content is generated in response to user interaction or changes in data. This can
be achieved using server-side scripts (PHP, Node.js) or client-side JavaScript frameworks
(React, Angular).

• Web services and APIs can dynamically serve content by querying databases, processing
business logic, and returning relevant responses.

• AJAX (Asynchronous JavaScript and XML) is used for partial page updates without
reloading the entire page, providing a more interactive user experience.
WEEK#5: Server configuration and server security in web technologies

Server Configuration in Web Technologies

Server configuration is a critical aspect of deploying web applications. Proper configuration


ensures that the server can efficiently handle web traffic, secure data, and serve content reliably.
Here’s a breakdown of common server configuration tasks in web technologies:

1. Web Server Software: Common choices include:

o Apache HTTP Server: Popular due to its flexibility and module support.

o Nginx: Known for high performance, scalability, and handling static content
efficiently.

o Microsoft IIS: Used in Windows environments for hosting ASP.NET applications.

2. Server Operating System:

o Linux (Ubuntu, CentOS, etc.): Common for web servers due to its stability,
performance, and flexibility.

o Windows Server: Often used in environments requiring integration with Microsoft


technologies.

3. Virtual Hosts: Virtual hosts allow hosting multiple domains on a single server. Configuring
virtual hosts involves:

o Assigning a specific domain to a directory on the server.

o Configuring SSL certificates (e.g., Let’s Encrypt) for HTTPS.

4. Port Configuration: Web servers typically serve HTTP on port 80 and HTTPS on port 443.
In some cases, other ports might be needed for services like FTP, SSH, or custom
applications.

5. Database Server: Ensure the web server communicates with the database server (e.g.,
MySQL, PostgreSQL, MongoDB) securely and efficiently by:
o Proper network configuration (open necessary ports for database
communication).

o Enforcing strong credentials for database access.

6. Reverse Proxy Setup: Reverse proxies like Nginx can distribute requests among different
backend services, cache content, and provide load balancing.

7. Caching: Configuring caching improves the speed of serving static content and reduces
the load on servers:

o Content Delivery Network (CDN): Offload static resources (images, CSS, JS).

o Server-side caching: Caching content to reduce repeated computations (e.g.,


Redis, Varnish).

8. Logging: Configure logging for performance monitoring, error handling, and security
auditing. Tools like Syslog or ELK (Elasticsearch, Logstash, Kibana) are often used.

Server Security in Web Technologies

Securing web servers is critical for preventing unauthorized access, data breaches, and
cyberattacks. Here are key measures to enhance server security:

1. Secure Sockets Layer (SSL)/Transport Layer Security (TLS):

o Always use HTTPS (TLS) to encrypt data transmitted between the client and server.

o Obtain SSL certificates from trusted authorities (e.g., Let’s Encrypt, DigiCert).

o Redirect HTTP requests to HTTPS using server configuration (in Nginx, Apache,
etc.).

2. Firewalls:

o Use firewalls (e.g., iptables, UFW) to control access to the server, restricting
unnecessary ports and limiting IP ranges.
o Employ Web Application Firewalls (WAFs) to block malicious traffic, such as SQL
injection, XSS, and DDoS attacks.

3. SSH Security:

o Disable root login and enforce key-based authentication instead of passwords.

o Change the default SSH port to minimize brute-force attacks.

o Regularly audit SSH access logs.

4. User Permissions:

o Minimize the use of privileged accounts. Restrict web server processes to running
under non-root users.

o Use role-based access control (RBAC) for limiting user access to only necessary files
and resources.

5. Regular Software Updates:

o Frequently update server operating systems and software to patch known


vulnerabilities.

o Automate security updates where possible to ensure timely protection.

6. Intrusion Detection Systems (IDS):

o Tools like Snort or OSSEC can monitor server traffic and logs for suspicious activity
and alert administrators of potential breaches.

7. SQL Injection and Input Validation:

o Use parameterized queries or ORM (Object-Relational Mapping) frameworks to


prevent SQL injection.

o Ensure that input from users is validated and sanitized to prevent code injection
attacks.
8. Password Policies:

o Enforce strong password policies for server access, database access, and user
accounts.

o Enable two-factor authentication (2FA) for administrative access to web servers.

9. File Permissions:

o Ensure that server directories and files have appropriate permissions set. Sensitive
files (e.g., configuration files, logs) should not be accessible by unauthorized users
or applications.

o Regularly audit files and directories for changes and vulnerabilities.

10. Security Headers:

o Configure HTTP headers for enhanced security, such as:

▪ Content-Security-Policy to control resources the browser can load.

▪ X-Frame-Options to prevent clickjacking.

▪ X-Content-Type-Options to prevent MIME-type sniffing.

11. Backup and Disaster Recovery:

o Regularly backup critical data and configuration files. Use encrypted backups to
protect data at rest.

o Create and test a disaster recovery plan to minimize downtime in case of attacks
or failures.

12. Vulnerability Scanning:

o Regularly scan the server for vulnerabilities using tools like Nessus, OpenVAS, or
Qualys.
o Follow best practices for patch management and apply patches as soon as they
become available.

You might also like