SlideShare a Scribd company logo
1 of 24
 Web Browser Architecture and Processes
 Active Browser Pages
 Caching Support
Web Technologies
Group members:
Babar Hussain
Hamza Shafique
Ali Abbas
Bilal Ahmed
 Web Browser Architecture and Processes
Evolution of the Web Browsers:
o Tim Berner Lee was the founder of the Web
Browser as a concept developed in 1990.
o The initial name of his browser was World
Wide Web but now it has become Nexus.
Nexus logo
Tim Berner Lee
o Erwise was the first graphical user interface web
browser.
o Robert Cailliau was the man behind this
development.
Robert Cailliau Erwise logo
How the World Wide Web Works?
o The clients server format enables the basic
functioning of the web.
o The users request information on the web pages
and the server works on transferring it to them.
o Software to serve these pages to the users is a web
server.
o User’s computer here becomes the client and the
browser on this allows document retrieval.
Web Browser
Protocols and Standards:
• A collection of web pages with the same link make up a website.
• Each of these pages has a Uniform Resource Locator (URL).
• The main protocol of the web browser is hypertext transfer protocol (HTTP) to
get on web pages.
• This protocol enables browsers to get info and access the web pages on request
using a URL that always begins with HTTP:/.
• Example:
https://cms.mul.edu.pk/login.php
Architecture of Web Browser:
1. The User Interface is the layer between the
user and the Browser Engine.
2. The Browser Engine is an embedded
component that provides a high-level
interface to the Rendering Engine(Next
layer). It loads a given URL and supports
primitive browsing actions such as
forward, back, and reload. It provides
hooks for viewing various aspects of the
browsing session such as current page load
progress and JavaScript alerts.
3. The Rendering Engine produces a visual
representation for a given URL. It is
capable of displaying HTML and XML
documents, optionally styled with CSS, as
well as embedded content such as images.
4. The Networking implements file transfer protocols such as HTTP and FTP.
5. The JavaScript Interpreter evaluates JavaScript code, which may be embedded
in web pages.
6. The XML Parser parses XML documents into a Document Object Model (DOM)
tree. This is one of the most reusable subsystems in the architecture. In fact, almost
all browser implementations leverage an existing XML Parser rather than rewriting
their own from scratch.
7. The Display Back-end provides drawing and windowing primitives, a set of user
interface widgets, and a set of fonts. It may be tied closely with the operating
system.
8. The Data Persistence stores various data associated with the browsing session
on disk. This may be high-level data such as bookmarks or toolbar settings, or it
may be low-level data such as cookies, security certificates, or cache.
Popular web browsers:
Conclusion:
• The web is a big space and thus has several components like web
browsers, web servers, websites, and web pages.
• These all are equally important and together make up an entire
wireframe of the world wide web.
Active Browser Pages
Browser page types:
The page in the WWW can be grouped into three broad categories:
• Static
• Dynamic
• Active
o Static : Each request results in exactly the same
response. Pages typically contain text ,hyperlinks
,photos and videos.
o Dynamic: Each web page is controlled by an application
server processing server-side scripts. For each request
the document is created. i.e. Online sales website.
Active Browser page:
o An active web page is a page where the browser performs the logic instead of
the server.
o An active web document consists of a computer program (js) that is sent by
the server to run on the browser locally. Once it runs , the active document
program can interact with user and change the display continuously.
o Active documents are sometimes known as client-side dynamic documents.
Active Browser page:
For example:
o when you've got a page where you're showing share prices, then you want it to
update e.g. every 5 seconds.
o https://www.tradingview.com/chart/
Caching Support
Caching support:
o If a web page is recently accessed it
will be stored on Cache otherwise
web browser requests it from the
server.
o Web caching is the activity of storing data for reuse, such as a copy of a web
page served by a web server.
Importance:
o When a visitor lands on your website, their browser requests data from your
site’s server. They then have to wait for the server to return the necessary data
before they can view your content.
o A web cache is website data a computer has stored temporarily for fast and easy
future access. Without web caching in place, browsers have to send new
requests every time visitors arrive on your site. If your content has been cached,
your server or visitors’ browsers can send a static copy of your content instead.
o This reduces the number of requests sent to your server, which take longer to
process than cached responses. This is the primary purpose of caching and how it
can increase page speed.
4 types of web cache:
There are various points within your website network where you can cache data.
1-Site cache: Ideal for static content.
2-Browser cache: A popular and effective client-side cache option.
3-Server cache: Best for high-traffic websites that need to reduce server strain.
4-Micro cache: A targeted option for highly dynamic sites.
1. Site cache:
o A site cache or page cache stores website data the first time a webpage is loaded. Each time a user
returns to your website, saved elements are quickly accessed and displayed to visitors.
o This is a type of client-side caching, which means that all the stored elements are controlled by the
end-user. As a website owner, the only say you have is how long content remains in the cache.
o To take advantage of site
caching, consider using a
WordPress plugin.
2. Browser cache:
• Browser caching is a type of site caching built into the end-user’s web browser.
Website elements are stored by the browser on your visitor’s computer and
grouped with other files associated with your content.
• A browser cache can contain HTML pages, CSS stylesheets, images, and other
multimedia content.
• Browser caching overlaps with site caching because they are both client-side
systems. The primary difference is that the browser, rather than the end-user,
controls the cache.
• To apply browser caching access your website .htaccess file. You’ll need to use
File Transfer Protocol (FTP) and an FTP client such as FileZilla to access your
server.
• Then, right-click on .htaccess and select View/Edit. This opens the file in a text
editor such as Notepad. Copy and paste the following code into the file:
<IfModule mod_expires.c>
ExpiresActive On
# Images
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
# Video
ExpiresByType video/mp4 "access plus 1 year"
ExpiresByType video/mpeg "access plus 1 year"
# CSS, JavaScript
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
# Others
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
</IfModule>
3. Server cache:
• Server cache is an umbrella term covering a number of different types of caching.
This includes Content Delivery Network (CDN) caching, object caching, and
opcode caching. Each stores different content on your website’s server.
• This type of caching is administered by website owners without any input from
end-users.
• Server caching is one of the best methods for reducing server loads. When a
request is made, the server checks its temporary storage for the necessary
content before processing it the request in full.
• The methods used to set up server caching vary depending on the specific type of
cache you want to implement.
4. Micro cache:
• This method stores content for very short periods of time. It generally saves
static versions of dynamic elements for up to 10 seconds.
• As this is a type of site cache, it’s controlled by end-users with limited input from
website owners.
• They’re typically high traffic and feature rapidly changing content, such as the
constantly updating graphs on currency exchange and stock websites.
4. Micro cache:
• To use micro caching, you need to open your server configuration file. You’ll need
root server access to do this, which might not be possible with certain types of
hosting.
• If you do have access to this file, add the following code:
proxy_cache_path /tmp/cache keys_zone=cache:10m levels=1:2 inactive=600s
max_size=100m ; server
{
proxy_cache cache;
proxy_cache_valid 200 1s;
...
}
Conclusion:
• Client-side and server-side caching both have their benefits.
• They also have different implementation methods. Choosing the right type of
web cache can boost your page loading speeds and improve your site’s User
Experience (UX).

More Related Content

Similar to Web Browser Architecture and Processes Caching Support

WP SESSION 2 PPT.ppt
WP SESSION 2 PPT.pptWP SESSION 2 PPT.ppt
WP SESSION 2 PPT.pptGFGCKCSKOLAR
 
Converting Any Website to Wordpress
Converting Any Website to WordpressConverting Any Website to Wordpress
Converting Any Website to WordpressIJERDJOURNAL
 
Unit-5_Application_QoS.pdfcomputer network
Unit-5_Application_QoS.pdfcomputer networkUnit-5_Application_QoS.pdfcomputer network
Unit-5_Application_QoS.pdfcomputer network4SI21CS112RakeshMS
 
Caching and Its Main Types
Caching and Its Main TypesCaching and Its Main Types
Caching and Its Main TypesHTS Hosting
 
Web Server Types - Understanding a Web Server
Web Server Types - Understanding a Web ServerWeb Server Types - Understanding a Web Server
Web Server Types - Understanding a Web ServerCloudtechtiq
 
05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebservertarensi
 
Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)Gera Paulos
 
COLLECTION METHODS
COLLECTION METHODSCOLLECTION METHODS
COLLECTION METHODSEssam Obaid
 
web course focus on main informantion of bukifing websitech1.pptx
web course focus on main informantion of bukifing websitech1.pptxweb course focus on main informantion of bukifing websitech1.pptx
web course focus on main informantion of bukifing websitech1.pptxburasyacob012
 
WEB MODULE 5.pdf
WEB MODULE 5.pdfWEB MODULE 5.pdf
WEB MODULE 5.pdfDeepika A B
 
Module notes artificial intelligence and
Module notes artificial intelligence andModule notes artificial intelligence and
Module notes artificial intelligence andbhagyavantrajapur88
 
E - BUSINESS AND ACCOUNTING.
E - BUSINESS AND ACCOUNTING.E - BUSINESS AND ACCOUNTING.
E - BUSINESS AND ACCOUNTING.Abhishek Kulkarni
 

Similar to Web Browser Architecture and Processes Caching Support (20)

Website
WebsiteWebsite
Website
 
WP SESSION 2 PPT.ppt
WP SESSION 2 PPT.pptWP SESSION 2 PPT.ppt
WP SESSION 2 PPT.ppt
 
Converting Any Website to Wordpress
Converting Any Website to WordpressConverting Any Website to Wordpress
Converting Any Website to Wordpress
 
Unit-5_Application_QoS.pdfcomputer network
Unit-5_Application_QoS.pdfcomputer networkUnit-5_Application_QoS.pdfcomputer network
Unit-5_Application_QoS.pdfcomputer network
 
Caching and Its Main Types
Caching and Its Main TypesCaching and Its Main Types
Caching and Its Main Types
 
Web Server Types - Understanding a Web Server
Web Server Types - Understanding a Web ServerWeb Server Types - Understanding a Web Server
Web Server Types - Understanding a Web Server
 
05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver
 
ICT project
ICT projectICT project
ICT project
 
Web fundamentals - part 1
Web fundamentals - part 1Web fundamentals - part 1
Web fundamentals - part 1
 
Tech talk php_cms
Tech talk php_cmsTech talk php_cms
Tech talk php_cms
 
Web design - How the Web works?
Web design - How the Web works?Web design - How the Web works?
Web design - How the Web works?
 
Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)
 
COLLECTION METHODS
COLLECTION METHODSCOLLECTION METHODS
COLLECTION METHODS
 
web course focus on main informantion of bukifing websitech1.pptx
web course focus on main informantion of bukifing websitech1.pptxweb course focus on main informantion of bukifing websitech1.pptx
web course focus on main informantion of bukifing websitech1.pptx
 
Computer Network.pptx
Computer Network.pptxComputer Network.pptx
Computer Network.pptx
 
WEB MODULE 5.pdf
WEB MODULE 5.pdfWEB MODULE 5.pdf
WEB MODULE 5.pdf
 
WEB Mod5@AzDOCUMENTS.in.pdf
WEB Mod5@AzDOCUMENTS.in.pdfWEB Mod5@AzDOCUMENTS.in.pdf
WEB Mod5@AzDOCUMENTS.in.pdf
 
Module notes artificial intelligence and
Module notes artificial intelligence andModule notes artificial intelligence and
Module notes artificial intelligence and
 
Guide Hosting Dictionary
Guide Hosting DictionaryGuide Hosting Dictionary
Guide Hosting Dictionary
 
E - BUSINESS AND ACCOUNTING.
E - BUSINESS AND ACCOUNTING.E - BUSINESS AND ACCOUNTING.
E - BUSINESS AND ACCOUNTING.
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 

Web Browser Architecture and Processes Caching Support

  • 1.  Web Browser Architecture and Processes  Active Browser Pages  Caching Support Web Technologies Group members: Babar Hussain Hamza Shafique Ali Abbas Bilal Ahmed
  • 2.  Web Browser Architecture and Processes
  • 3. Evolution of the Web Browsers: o Tim Berner Lee was the founder of the Web Browser as a concept developed in 1990. o The initial name of his browser was World Wide Web but now it has become Nexus. Nexus logo Tim Berner Lee o Erwise was the first graphical user interface web browser. o Robert Cailliau was the man behind this development. Robert Cailliau Erwise logo
  • 4. How the World Wide Web Works? o The clients server format enables the basic functioning of the web. o The users request information on the web pages and the server works on transferring it to them. o Software to serve these pages to the users is a web server. o User’s computer here becomes the client and the browser on this allows document retrieval. Web Browser
  • 5. Protocols and Standards: • A collection of web pages with the same link make up a website. • Each of these pages has a Uniform Resource Locator (URL). • The main protocol of the web browser is hypertext transfer protocol (HTTP) to get on web pages. • This protocol enables browsers to get info and access the web pages on request using a URL that always begins with HTTP:/. • Example: https://cms.mul.edu.pk/login.php
  • 6. Architecture of Web Browser: 1. The User Interface is the layer between the user and the Browser Engine. 2. The Browser Engine is an embedded component that provides a high-level interface to the Rendering Engine(Next layer). It loads a given URL and supports primitive browsing actions such as forward, back, and reload. It provides hooks for viewing various aspects of the browsing session such as current page load progress and JavaScript alerts. 3. The Rendering Engine produces a visual representation for a given URL. It is capable of displaying HTML and XML documents, optionally styled with CSS, as well as embedded content such as images.
  • 7. 4. The Networking implements file transfer protocols such as HTTP and FTP. 5. The JavaScript Interpreter evaluates JavaScript code, which may be embedded in web pages. 6. The XML Parser parses XML documents into a Document Object Model (DOM) tree. This is one of the most reusable subsystems in the architecture. In fact, almost all browser implementations leverage an existing XML Parser rather than rewriting their own from scratch. 7. The Display Back-end provides drawing and windowing primitives, a set of user interface widgets, and a set of fonts. It may be tied closely with the operating system. 8. The Data Persistence stores various data associated with the browsing session on disk. This may be high-level data such as bookmarks or toolbar settings, or it may be low-level data such as cookies, security certificates, or cache.
  • 9. Conclusion: • The web is a big space and thus has several components like web browsers, web servers, websites, and web pages. • These all are equally important and together make up an entire wireframe of the world wide web.
  • 11. Browser page types: The page in the WWW can be grouped into three broad categories: • Static • Dynamic • Active o Static : Each request results in exactly the same response. Pages typically contain text ,hyperlinks ,photos and videos. o Dynamic: Each web page is controlled by an application server processing server-side scripts. For each request the document is created. i.e. Online sales website.
  • 12. Active Browser page: o An active web page is a page where the browser performs the logic instead of the server. o An active web document consists of a computer program (js) that is sent by the server to run on the browser locally. Once it runs , the active document program can interact with user and change the display continuously. o Active documents are sometimes known as client-side dynamic documents.
  • 13. Active Browser page: For example: o when you've got a page where you're showing share prices, then you want it to update e.g. every 5 seconds. o https://www.tradingview.com/chart/
  • 15. Caching support: o If a web page is recently accessed it will be stored on Cache otherwise web browser requests it from the server. o Web caching is the activity of storing data for reuse, such as a copy of a web page served by a web server.
  • 16. Importance: o When a visitor lands on your website, their browser requests data from your site’s server. They then have to wait for the server to return the necessary data before they can view your content. o A web cache is website data a computer has stored temporarily for fast and easy future access. Without web caching in place, browsers have to send new requests every time visitors arrive on your site. If your content has been cached, your server or visitors’ browsers can send a static copy of your content instead. o This reduces the number of requests sent to your server, which take longer to process than cached responses. This is the primary purpose of caching and how it can increase page speed.
  • 17. 4 types of web cache: There are various points within your website network where you can cache data. 1-Site cache: Ideal for static content. 2-Browser cache: A popular and effective client-side cache option. 3-Server cache: Best for high-traffic websites that need to reduce server strain. 4-Micro cache: A targeted option for highly dynamic sites.
  • 18. 1. Site cache: o A site cache or page cache stores website data the first time a webpage is loaded. Each time a user returns to your website, saved elements are quickly accessed and displayed to visitors. o This is a type of client-side caching, which means that all the stored elements are controlled by the end-user. As a website owner, the only say you have is how long content remains in the cache. o To take advantage of site caching, consider using a WordPress plugin.
  • 19. 2. Browser cache: • Browser caching is a type of site caching built into the end-user’s web browser. Website elements are stored by the browser on your visitor’s computer and grouped with other files associated with your content. • A browser cache can contain HTML pages, CSS stylesheets, images, and other multimedia content. • Browser caching overlaps with site caching because they are both client-side systems. The primary difference is that the browser, rather than the end-user, controls the cache.
  • 20. • To apply browser caching access your website .htaccess file. You’ll need to use File Transfer Protocol (FTP) and an FTP client such as FileZilla to access your server. • Then, right-click on .htaccess and select View/Edit. This opens the file in a text editor such as Notepad. Copy and paste the following code into the file: <IfModule mod_expires.c> ExpiresActive On # Images ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/webp "access plus 1 year" ExpiresByType image/svg+xml "access plus 1 year" ExpiresByType image/x-icon "access plus 1 year" # Video ExpiresByType video/mp4 "access plus 1 year" ExpiresByType video/mpeg "access plus 1 year" # CSS, JavaScript ExpiresByType text/css "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" # Others ExpiresByType application/pdf "access plus 1 month" ExpiresByType application/x-shockwave-flash "access plus 1 month" </IfModule>
  • 21. 3. Server cache: • Server cache is an umbrella term covering a number of different types of caching. This includes Content Delivery Network (CDN) caching, object caching, and opcode caching. Each stores different content on your website’s server. • This type of caching is administered by website owners without any input from end-users. • Server caching is one of the best methods for reducing server loads. When a request is made, the server checks its temporary storage for the necessary content before processing it the request in full. • The methods used to set up server caching vary depending on the specific type of cache you want to implement.
  • 22. 4. Micro cache: • This method stores content for very short periods of time. It generally saves static versions of dynamic elements for up to 10 seconds. • As this is a type of site cache, it’s controlled by end-users with limited input from website owners. • They’re typically high traffic and feature rapidly changing content, such as the constantly updating graphs on currency exchange and stock websites.
  • 23. 4. Micro cache: • To use micro caching, you need to open your server configuration file. You’ll need root server access to do this, which might not be possible with certain types of hosting. • If you do have access to this file, add the following code: proxy_cache_path /tmp/cache keys_zone=cache:10m levels=1:2 inactive=600s max_size=100m ; server { proxy_cache cache; proxy_cache_valid 200 1s; ... }
  • 24. Conclusion: • Client-side and server-side caching both have their benefits. • They also have different implementation methods. Choosing the right type of web cache can boost your page loading speeds and improve your site’s User Experience (UX).