SlideShare a Scribd company logo
1 of 55
Download to read offline
Fundamentals of WebHigh level overview of web concepts
Lemİ Orhan Ergİn
Principal software Engineer @ Sony
guide for non-developers
The aim of this training is to let you
•know concepts of web and web applications
•understand how web based software works
•understand the technical discussions better
•and answer your questions:)
agenda
•Web Concepts
Http/Https, Cookies, Caches, Forms, Html, Javascript, CSS, Request/
Response, Responsive Web Design
•Infrastructure
Servers, Databases, Load Balancers
web concepts
The Internet is a global system of interconnected
computer networks
www, email, social networking, file transfer, online
chat, commerce, game playing, teleconferencing,
VoIP, video on demand etc.
Internet is tangible network of computers
sharing/exchanging information with the help of
PROTOCOLS.
Internet
Protocol
Protocol is a form of etiquette.
Internet Protocols are the standards, designed to
specify how computers interact and exchange
messages over internet.
Protocols usually specifies:
The format of the messages &
how to handle errors
Open systems ınter-connection (OSI) model
is a conceptual model that describes the internal
architecture of a communications system by splitting
its components into abstraction layers.
tcp model
This model is a condensed version of the OSI model
and only has four layers. It is considered as standard
around internet.
http model
It stands for HypertextTransfer Protocol.
HTTP provides a set of rules and standards that
govern how information is transmitted on the World
Wide Web.
http://www.sony.co.uk
http model
HTTP is a client-server protocol by which two
machines communicate using a reliable, connection-
oriented transport service such as theTCP.
Opens a tcp/ip connection via sockets
Transmits the request for a document
Waits for a reply from the server
Once the response is arrived, the socket is closed
Request
Response
http model
There is no memory between client connections.
Pure HTTP server treats every request as if it was
brand-new (i.e. Stateless)
To load faster, Http pages are stored in your
computer and internet caches.You don’t have control
over some caches like the ones in proxies.
PORT NUMBERS
A port is an endpoint to a logical connection and the
way a client program specifies a specific server
program on a computer in a network
Port numbers range from 0 to 65536, but the first 1024 are reserved for privileged services.
The other ports could be used by any application.
HTTP: 80
SSH: 22
TELNET: 23
Privacy: Anyone can see the content
Integrity: Anyone can alter the content
Authentication: Authentication is sent in clear form
Stateless: Need to maintain information across
multiple request-responses
http Limitations
HTTPS stands for HypertextTransfer
Protocol over Secure Socket Layer, or
HTTP over SSL.
SSL acts like a sub layer under regular
HTTP application layering.
HTTPS encrypts an HTTP message
prior to transmission and decrypts a
message upon arrival.
httPS
HTTPS by default uses port 443 as opposed to the standard HTTP
port of 80.
URL's beginning with HTTPS indicate that the connection between
client and browser is encrypted using SSL
SSL transactions are negotiated by means of a key based encryption
algorithm between the client and the server, this key is usually either
40 or 128 bits in strength (the higher the number of bits the more
secure the transaction).
httPS
https://login.yahoo.com/config/login_verify?src=ym
SSL HANDSHAKE
HTTP server is implemented by servers
Each client-server transaction consists of 3 main parts:
1) Request/Response line 2) Header information 3)The body
http model
there are several ways
to send a request
GET
POST
PUT
DELETE
HEAD
OPTIONS
TRACE
CONNECT
HTTP METHOD: GET
•Retrieval of information
•Server sends a representation of a resource to client
HTTP METHOD: POST
•The body of the request is accepted as a resource
•Mainly the data of forms are submitted by post
Web Content
Scripts (javascript)
Styles (css)
Pages (html)
Images (jpg, png, gif)
Web content is sent from server and browsers
renders and displays that is programmed.
Data* (xml, json)
Web Content: HTML
HyperText Markup Language (HTML) is the main
markup language for creating web pages and other
information that can be displayed in a web browser.
Web Content: Javascripts
JavaScript (JS) is an interpreted computer programming language. It was
originally implemented as part of web browsers so that client-side
scripts could interact with the user, control the browser, communicate
asynchronously, and alter the document content that was displayed.
Web Content: CSS
Cascading Style Sheets (CSS) is a style sheet language used for
describing the presentation semantics (the look and formatting) of a
document written in a markup language.
Web Content: IMAGES
Any image could be displayed in an html page. It is important to keep
the size of images small for the sake of performance.
Web Content: XML
Extensible Markup Language (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.
Web Content: JSON
JavaScript Object Notation (JSON), is a
text-based open standard designed for
human-readable data interchange
Server
Browser
Infrastructure
Server infrastructure could be that simple!
Load Balancer
Web Servers
Load Balancer
Application Servers
Database Servers
Proxy
Browser
Servers in the
same zone do not
interact over
proxy
Zone
The content can
be cached in any
of the levels
Central Cache Servers
The infrastructure
could be simpler
than here
Server infrastructure
could be much more
complex too
Client
request - response
You request a web page and get data
Server
Client
Browser caches the content
ServerCache
200
Client
You request the same web page with
last modified date of the cached content
Server
304
Client
Since server says “content has not
changed”, the data in cache is loaded
ServerCache
1
2
3
4
Server does not return content. It just
returns status code 304
Server returns content with code 200
Caching
Any content can be cached in any infrastructural node
•Scripts (javascript)
•Styles (css)
•Pages (http pages)
•Images
•Animations (flash)
Load Balancer
Web Servers
Load Balancer
Application Servers
Database Servers
Proxy
Browser
Zone
Central Cache Servers
Returns cached scripts,
styles and content from
browser cacheRefresh By f5
Cache-­‐Control:  no-­‐cache  //  HTTP  1.1
Pragma:  no-­‐cache  //  HTTP  1.0
Expires:  Sat,  26  Jul  1988  05:00:00  GMT  //  in  past
Asks for content if cache is not set
Load Balancer
Web Servers
Load Balancer
Application Servers
Database Servers
Proxy
Browser
Zone
Central Cache Servers
Refresh By
CTRL+f5
Asks for content. Browser
cache is not used.
Load Balancer
Web Servers
Load Balancer
Application Servers
Database Servers
Proxy
Browser
Zone
Central Cache Servers
cache on
server side
Cache could be on server side
and needs to be cleaned either
automatic or manually
ajax
Acronym for Asynchronous JavaScript and XML
It is a web development technique used on the client
side to create asynchronous web applications.
ajax
Let’s see how ajax works. Fill the
following text area.
ajax
Write a text and press the button
ajax
Page is not refreshed.A new text
appears below the entry area.
Let’s look at how it works
ajax
Page is initially loaded to
your machine
Source code of the page
can be displayed within
browser
HTML Code
Document Object model
ajax
ajax
When you click on the
button, web page calls the
server from client site
(i.e. from your browser)Server
Browser
ajax
Server sends new data as response.The data
is put to object graph of the page at runtime.
ajax
Object graph is changed.The new data is
displayed on browser. But you cannot see the
new data in the source code of the page.
You can trace the response of server via
plugins like FireBug
Cookies
A cookie, also known as an HTTP cookie, web cookie,
or browser cookie, is a small piece of data sent from a
website and stored in a user's web browser while a user
is browsing a website.
Usage of Cookies
•Session Management
•Shopping Cart,Authentication
•Personalization
•Remember me, Preferences
•Tracking & Analytics
•Ads, Browsing History,Analytics,Tracking
Cookie Content
A web browser is expected to be able to store at least
300 cookies of 4 kb each, and at least 20 cookies per
server or domain.
•Cookie domain
•Path
•Expiration time or maximum age
•Secure flag
•HttpOnly flag.
•Name–value pair Data to send to server
Data to be used by browsers
to determine when to delete a
cookie, block a cookie or
accept a cookie
Setting Cookies
Cookies can not only be set by server. These can be set
by Javascript in client’s browsers (if cookie is not marked as HTTPOnly).
Forms
An HTML form on a web page allows a user to
enter data that is sent to a server for processing.
Forms
Forms can be generated in several ways
Server
Browser
Client Side
Server
Browser
Server Side
by programming languagesby javascript editing DOM
Form Validation
Forms can be validated in client side via javascript
and in server side by application.
Server Browser
Please note that validation on client
side could be bypassed easily
Responsive web design
Responsive web design (RWD) is a web
design approach aimed at crafting sites to provide
an optimal viewing experience—easy reading and
navigation with a minimum of resizing, panning, and
scrolling—across a wide range of devices (from
desktop computer monitors to mobile phones)
http://discover.store.sony.com/sportswalkman/
http://www.slideshare.net/bytte/responsive-web-design-10389263
HTML5 vs FLASH
Web browsers cannot render Flash media
themselves, instead it is rendered primarily using the
proprietary but freely available Adobe Flash Player
http://sixrevisions.com/html/html5-infographics/
http://venturebeat.com/2012/01/31/html5-versus-flash-infographic/
All web browsers support HTML and other Web
standards to various degrees.
HTML5 vs FLASH
It’s time for reading some code
http://charag.com/client/eagleriverdaycamp/v2/eagle.html
http://citwings.com/phillips_locked_room_game.html
HTML5 Animation
Flash Animation
References
http://www.slideshare.net/simplyharshad/http-vs-https
HTTP vs HTTPS
Lemİ orhan ergİn
lemiorhan@agilistanbul.com
@lemiorhan
@lemiorhan
agilistanbul.com
@lemiorhan
LINKEDINTWITTERSLIDESHAREBLOGGER
Principal Software Engineer @ Sony
Founder & Author @ agilistanbul.com

More Related Content

What's hot

Introduction to Web Development
Introduction to Web DevelopmentIntroduction to Web Development
Introduction to Web DevelopmentParvez Mahbub
 
Planning & publishing of website
Planning & publishing of website Planning & publishing of website
Planning & publishing of website Archana Jha
 
Web Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptWeb Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptEdureka!
 
Chat App Presentation.pptx
Chat App Presentation.pptxChat App Presentation.pptx
Chat App Presentation.pptxSHUBHAMTIWARI500
 
Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Oleksii Prohonnyi
 
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...rahul kundu
 
Error detection and correction unit-05
Error detection and correction unit-05Error detection and correction unit-05
Error detection and correction unit-05shrinivasgnaik
 
Introduction to Web Programming - first course
Introduction to Web Programming - first courseIntroduction to Web Programming - first course
Introduction to Web Programming - first courseVlad Posea
 
Web application framework
Web application frameworkWeb application framework
Web application frameworkPankaj Chand
 
Introduction of Html/css/js
Introduction of Html/css/jsIntroduction of Html/css/js
Introduction of Html/css/jsKnoldus Inc.
 
Document object model(dom)
Document object model(dom)Document object model(dom)
Document object model(dom)rahul kundu
 
Responsive web designing ppt(1)
Responsive web designing ppt(1)Responsive web designing ppt(1)
Responsive web designing ppt(1)admecindia1
 
wireless network IEEE 802.11
 wireless network IEEE 802.11 wireless network IEEE 802.11
wireless network IEEE 802.11Shreejan Acharya
 

What's hot (20)

Introduction to Web Development
Introduction to Web DevelopmentIntroduction to Web Development
Introduction to Web Development
 
Planning & publishing of website
Planning & publishing of website Planning & publishing of website
Planning & publishing of website
 
Ipv6
Ipv6Ipv6
Ipv6
 
Web server
Web serverWeb server
Web server
 
Web Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptWeb Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScript
 
Web Development
Web DevelopmentWeb Development
Web Development
 
Chat App Presentation.pptx
Chat App Presentation.pptxChat App Presentation.pptx
Chat App Presentation.pptx
 
Web Development
Web DevelopmentWeb Development
Web Development
 
Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1
 
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
 
Error detection and correction unit-05
Error detection and correction unit-05Error detection and correction unit-05
Error detection and correction unit-05
 
Introduction to Web Programming - first course
Introduction to Web Programming - first courseIntroduction to Web Programming - first course
Introduction to Web Programming - first course
 
Web application framework
Web application frameworkWeb application framework
Web application framework
 
Bit torrent ppt
Bit torrent pptBit torrent ppt
Bit torrent ppt
 
Introduction of Html/css/js
Introduction of Html/css/jsIntroduction of Html/css/js
Introduction of Html/css/js
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Document object model(dom)
Document object model(dom)Document object model(dom)
Document object model(dom)
 
IPV6 ADDRESS
IPV6 ADDRESSIPV6 ADDRESS
IPV6 ADDRESS
 
Responsive web designing ppt(1)
Responsive web designing ppt(1)Responsive web designing ppt(1)
Responsive web designing ppt(1)
 
wireless network IEEE 802.11
 wireless network IEEE 802.11 wireless network IEEE 802.11
wireless network IEEE 802.11
 

Viewers also liked

Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersLemi Orhan Ergin
 
Web Application Development Fundamentals
Web Application Development FundamentalsWeb Application Development Fundamentals
Web Application Development FundamentalsMohammed Makhlouf
 
What the Hell is the Internet Anyway? - A History of the Web
What the Hell is the Internet Anyway? - A History of the Web What the Hell is the Internet Anyway? - A History of the Web
What the Hell is the Internet Anyway? - A History of the Web Vimi.co Ltd - Bangkok Web Agency
 
Ppt of web development
Ppt of web developmentPpt of web development
Ppt of web developmentbethanygfair
 
Basic fundamentals of web application development
Basic fundamentals of web application developmentBasic fundamentals of web application development
Basic fundamentals of web application developmentsofyjohnson18
 
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...Lemi Orhan Ergin
 
Web 3.0 The Semantic Web
Web 3.0 The Semantic WebWeb 3.0 The Semantic Web
Web 3.0 The Semantic WebHatem Mahmoud
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web ArchitectureChamnap Chhorn
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web Appscothis
 
Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Lemi Orhan Ergin
 
Finding more people like you
Finding more people like youFinding more people like you
Finding more people like youarunv
 
Web development
Web developmentWeb development
Web developmentbaskysmail
 
Web Fundamentals
Web FundamentalsWeb Fundamentals
Web Fundamentalsarunv
 
Presentational jQuery
Presentational jQueryPresentational jQuery
Presentational jQueryDoug Neiner
 
Intro to Front-End Web Devlopment
Intro to Front-End Web DevlopmentIntro to Front-End Web Devlopment
Intro to Front-End Web Devlopmentdamonras
 
Website design and devlopment
Website design and devlopmentWebsite design and devlopment
Website design and devlopmentPX Media
 
Web Issues
Web IssuesWeb Issues
Web Issuestterrill
 

Viewers also liked (19)

Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-Developers
 
Web Application Development Fundamentals
Web Application Development FundamentalsWeb Application Development Fundamentals
Web Application Development Fundamentals
 
What the Hell is the Internet Anyway? - A History of the Web
What the Hell is the Internet Anyway? - A History of the Web What the Hell is the Internet Anyway? - A History of the Web
What the Hell is the Internet Anyway? - A History of the Web
 
Basic Web Concepts
Basic Web ConceptsBasic Web Concepts
Basic Web Concepts
 
Ppt of web development
Ppt of web developmentPpt of web development
Ppt of web development
 
Basic fundamentals of web application development
Basic fundamentals of web application developmentBasic fundamentals of web application development
Basic fundamentals of web application development
 
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
 
Web 3.0 The Semantic Web
Web 3.0 The Semantic WebWeb 3.0 The Semantic Web
Web 3.0 The Semantic Web
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
 
Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016
 
Finding more people like you
Finding more people like youFinding more people like you
Finding more people like you
 
Web development
Web developmentWeb development
Web development
 
Web Fundamentals
Web FundamentalsWeb Fundamentals
Web Fundamentals
 
Presentational jQuery
Presentational jQueryPresentational jQuery
Presentational jQuery
 
Intro to Front-End Web Devlopment
Intro to Front-End Web DevlopmentIntro to Front-End Web Devlopment
Intro to Front-End Web Devlopment
 
Website design and devlopment
Website design and devlopmentWebsite design and devlopment
Website design and devlopment
 
Web Issues
Web IssuesWeb Issues
Web Issues
 
Web Fundamental
Web FundamentalWeb Fundamental
Web Fundamental
 

Similar to Fundamentals of Web for Non-Developers

Introductiontowebarchitecture 090922221506-phpapp01
Introductiontowebarchitecture 090922221506-phpapp01Introductiontowebarchitecture 090922221506-phpapp01
Introductiontowebarchitecture 090922221506-phpapp01Maisha Price
 
21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMSkoolkampus
 
World wide web architecture presentation
World wide web architecture presentationWorld wide web architecture presentation
World wide web architecture presentationImMe Khan
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecuritySanjeev Verma, PhD
 
WEB-DBMS A quick reference
WEB-DBMS A quick referenceWEB-DBMS A quick reference
WEB-DBMS A quick referenceMarc Dy
 
Configuring the Apache Web Server
Configuring the Apache Web ServerConfiguring the Apache Web Server
Configuring the Apache Web Serverwebhostingguy
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Softwarewebhostingguy
 
Web Database
Web DatabaseWeb Database
Web Databaseidroos7
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development PresentationTurnToTech
 
05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebservertarensi
 
0_Leksion_Web_Servers (1).pdf
0_Leksion_Web_Servers (1).pdf0_Leksion_Web_Servers (1).pdf
0_Leksion_Web_Servers (1).pdfZani10
 
01 - Web Programming Intro.pptx
01 - Web Programming Intro.pptx01 - Web Programming Intro.pptx
01 - Web Programming Intro.pptxKarina González
 
Choice of programming language for web developing.
Choice of programming language for web developing.Choice of programming language for web developing.
Choice of programming language for web developing.Mohammad Kamrul Hasan
 

Similar to Fundamentals of Web for Non-Developers (20)

Introductiontowebarchitecture 090922221506-phpapp01
Introductiontowebarchitecture 090922221506-phpapp01Introductiontowebarchitecture 090922221506-phpapp01
Introductiontowebarchitecture 090922221506-phpapp01
 
21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS
 
World wide web architecture presentation
World wide web architecture presentationWorld wide web architecture presentation
World wide web architecture presentation
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser Security
 
Basics of the Web Platform
Basics of the Web PlatformBasics of the Web Platform
Basics of the Web Platform
 
WP Chap 1 & 2.pptx
WP Chap 1 & 2.pptxWP Chap 1 & 2.pptx
WP Chap 1 & 2.pptx
 
WEB-DBMS A quick reference
WEB-DBMS A quick referenceWEB-DBMS A quick reference
WEB-DBMS A quick reference
 
Configuring the Apache Web Server
Configuring the Apache Web ServerConfiguring the Apache Web Server
Configuring the Apache Web Server
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Software
 
Web Database
Web DatabaseWeb Database
Web Database
 
web devs ppt.ppsx
web devs ppt.ppsxweb devs ppt.ppsx
web devs ppt.ppsx
 
web development process WT
web development process WTweb development process WT
web development process WT
 
Wt unit 1 ppts web development process
Wt unit 1 ppts web development processWt unit 1 ppts web development process
Wt unit 1 ppts web development process
 
Intro webapps
Intro webappsIntro webapps
Intro webapps
 
Ch-1_.ppt
Ch-1_.pptCh-1_.ppt
Ch-1_.ppt
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver
 
0_Leksion_Web_Servers (1).pdf
0_Leksion_Web_Servers (1).pdf0_Leksion_Web_Servers (1).pdf
0_Leksion_Web_Servers (1).pdf
 
01 - Web Programming Intro.pptx
01 - Web Programming Intro.pptx01 - Web Programming Intro.pptx
01 - Web Programming Intro.pptx
 
Choice of programming language for web developing.
Choice of programming language for web developing.Choice of programming language for web developing.
Choice of programming language for web developing.
 

More from Lemi Orhan Ergin

Clean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleClean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleLemi Orhan Ergin
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingLemi Orhan Ergin
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018Lemi Orhan Ergin
 
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...Lemi Orhan Ergin
 
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperLemi Orhan Ergin
 
Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionLemi Orhan Ergin
 
DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeLemi Orhan Ergin
 
Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Lemi Orhan Ergin
 
Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017Lemi Orhan Ergin
 
Waste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia MeetupWaste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia MeetupLemi Orhan Ergin
 
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Lemi Orhan Ergin
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Lemi Orhan Ergin
 
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...Lemi Orhan Ergin
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it AgainGit Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it AgainLemi Orhan Ergin
 
Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017Lemi Orhan Ergin
 
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersHappy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersLemi Orhan Ergin
 
Git - Bildiğiniz Gibi Değil
Git - Bildiğiniz Gibi DeğilGit - Bildiğiniz Gibi Değil
Git - Bildiğiniz Gibi DeğilLemi Orhan Ergin
 
Code Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your OrganizationCode Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your OrganizationLemi Orhan Ergin
 
Lost in Motivation in an Agile World
Lost in Motivation in an Agile WorldLost in Motivation in an Agile World
Lost in Motivation in an Agile WorldLemi Orhan Ergin
 
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)Lemi Orhan Ergin
 

More from Lemi Orhan Ergin (20)

Clean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleClean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design Simple
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair Programming
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
 
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
 
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical Developer
 
Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in Action
 
DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to Practice
 
Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017
 
Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017
 
Waste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia MeetupWaste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia Meetup
 
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
 
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it AgainGit Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it Again
 
Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017
 
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersHappy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
 
Git - Bildiğiniz Gibi Değil
Git - Bildiğiniz Gibi DeğilGit - Bildiğiniz Gibi Değil
Git - Bildiğiniz Gibi Değil
 
Code Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your OrganizationCode Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your Organization
 
Lost in Motivation in an Agile World
Lost in Motivation in an Agile WorldLost in Motivation in an Agile World
Lost in Motivation in an Agile World
 
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)
 

Recently uploaded

Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxkarenfajardo43
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataBabyAnnMotar
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1GloryAnnCastre1
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleCeline George
 

Recently uploaded (20)

Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped data
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP Module
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 

Fundamentals of Web for Non-Developers

  • 1. Fundamentals of WebHigh level overview of web concepts Lemİ Orhan Ergİn Principal software Engineer @ Sony guide for non-developers
  • 2. The aim of this training is to let you •know concepts of web and web applications •understand how web based software works •understand the technical discussions better •and answer your questions:)
  • 3. agenda •Web Concepts Http/Https, Cookies, Caches, Forms, Html, Javascript, CSS, Request/ Response, Responsive Web Design •Infrastructure Servers, Databases, Load Balancers
  • 5. The Internet is a global system of interconnected computer networks www, email, social networking, file transfer, online chat, commerce, game playing, teleconferencing, VoIP, video on demand etc. Internet is tangible network of computers sharing/exchanging information with the help of PROTOCOLS. Internet
  • 6. Protocol Protocol is a form of etiquette. Internet Protocols are the standards, designed to specify how computers interact and exchange messages over internet. Protocols usually specifies: The format of the messages & how to handle errors
  • 7. Open systems ınter-connection (OSI) model is a conceptual model that describes the internal architecture of a communications system by splitting its components into abstraction layers.
  • 8. tcp model This model is a condensed version of the OSI model and only has four layers. It is considered as standard around internet.
  • 9. http model It stands for HypertextTransfer Protocol. HTTP provides a set of rules and standards that govern how information is transmitted on the World Wide Web. http://www.sony.co.uk
  • 10. http model HTTP is a client-server protocol by which two machines communicate using a reliable, connection- oriented transport service such as theTCP. Opens a tcp/ip connection via sockets Transmits the request for a document Waits for a reply from the server Once the response is arrived, the socket is closed Request Response
  • 11. http model There is no memory between client connections. Pure HTTP server treats every request as if it was brand-new (i.e. Stateless) To load faster, Http pages are stored in your computer and internet caches.You don’t have control over some caches like the ones in proxies.
  • 12. PORT NUMBERS A port is an endpoint to a logical connection and the way a client program specifies a specific server program on a computer in a network Port numbers range from 0 to 65536, but the first 1024 are reserved for privileged services. The other ports could be used by any application. HTTP: 80 SSH: 22 TELNET: 23
  • 13. Privacy: Anyone can see the content Integrity: Anyone can alter the content Authentication: Authentication is sent in clear form Stateless: Need to maintain information across multiple request-responses http Limitations
  • 14. HTTPS stands for HypertextTransfer Protocol over Secure Socket Layer, or HTTP over SSL. SSL acts like a sub layer under regular HTTP application layering. HTTPS encrypts an HTTP message prior to transmission and decrypts a message upon arrival. httPS
  • 15. HTTPS by default uses port 443 as opposed to the standard HTTP port of 80. URL's beginning with HTTPS indicate that the connection between client and browser is encrypted using SSL SSL transactions are negotiated by means of a key based encryption algorithm between the client and the server, this key is usually either 40 or 128 bits in strength (the higher the number of bits the more secure the transaction). httPS https://login.yahoo.com/config/login_verify?src=ym
  • 17. HTTP server is implemented by servers Each client-server transaction consists of 3 main parts: 1) Request/Response line 2) Header information 3)The body http model
  • 18. there are several ways to send a request GET POST PUT DELETE HEAD OPTIONS TRACE CONNECT
  • 19. HTTP METHOD: GET •Retrieval of information •Server sends a representation of a resource to client
  • 20. HTTP METHOD: POST •The body of the request is accepted as a resource •Mainly the data of forms are submitted by post
  • 21. Web Content Scripts (javascript) Styles (css) Pages (html) Images (jpg, png, gif) Web content is sent from server and browsers renders and displays that is programmed. Data* (xml, json)
  • 22. Web Content: HTML HyperText Markup Language (HTML) is the main markup language for creating web pages and other information that can be displayed in a web browser.
  • 23. Web Content: Javascripts JavaScript (JS) is an interpreted computer programming language. It was originally implemented as part of web browsers so that client-side scripts could interact with the user, control the browser, communicate asynchronously, and alter the document content that was displayed.
  • 24. Web Content: CSS Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation semantics (the look and formatting) of a document written in a markup language.
  • 25. Web Content: IMAGES Any image could be displayed in an html page. It is important to keep the size of images small for the sake of performance.
  • 26. Web Content: XML Extensible Markup Language (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.
  • 27. Web Content: JSON JavaScript Object Notation (JSON), is a text-based open standard designed for human-readable data interchange
  • 29. Load Balancer Web Servers Load Balancer Application Servers Database Servers Proxy Browser Servers in the same zone do not interact over proxy Zone The content can be cached in any of the levels Central Cache Servers The infrastructure could be simpler than here Server infrastructure could be much more complex too
  • 30. Client request - response You request a web page and get data Server Client Browser caches the content ServerCache 200 Client You request the same web page with last modified date of the cached content Server 304 Client Since server says “content has not changed”, the data in cache is loaded ServerCache 1 2 3 4 Server does not return content. It just returns status code 304 Server returns content with code 200
  • 31. Caching Any content can be cached in any infrastructural node •Scripts (javascript) •Styles (css) •Pages (http pages) •Images •Animations (flash)
  • 32. Load Balancer Web Servers Load Balancer Application Servers Database Servers Proxy Browser Zone Central Cache Servers Returns cached scripts, styles and content from browser cacheRefresh By f5 Cache-­‐Control:  no-­‐cache  //  HTTP  1.1 Pragma:  no-­‐cache  //  HTTP  1.0 Expires:  Sat,  26  Jul  1988  05:00:00  GMT  //  in  past Asks for content if cache is not set
  • 33. Load Balancer Web Servers Load Balancer Application Servers Database Servers Proxy Browser Zone Central Cache Servers Refresh By CTRL+f5 Asks for content. Browser cache is not used.
  • 34. Load Balancer Web Servers Load Balancer Application Servers Database Servers Proxy Browser Zone Central Cache Servers cache on server side Cache could be on server side and needs to be cleaned either automatic or manually
  • 35. ajax Acronym for Asynchronous JavaScript and XML It is a web development technique used on the client side to create asynchronous web applications.
  • 36. ajax Let’s see how ajax works. Fill the following text area.
  • 37. ajax Write a text and press the button
  • 38. ajax Page is not refreshed.A new text appears below the entry area. Let’s look at how it works
  • 39. ajax Page is initially loaded to your machine Source code of the page can be displayed within browser
  • 41. ajax When you click on the button, web page calls the server from client site (i.e. from your browser)Server Browser
  • 42. ajax Server sends new data as response.The data is put to object graph of the page at runtime.
  • 43. ajax Object graph is changed.The new data is displayed on browser. But you cannot see the new data in the source code of the page. You can trace the response of server via plugins like FireBug
  • 44. Cookies A cookie, also known as an HTTP cookie, web cookie, or browser cookie, is a small piece of data sent from a website and stored in a user's web browser while a user is browsing a website.
  • 45. Usage of Cookies •Session Management •Shopping Cart,Authentication •Personalization •Remember me, Preferences •Tracking & Analytics •Ads, Browsing History,Analytics,Tracking
  • 46. Cookie Content A web browser is expected to be able to store at least 300 cookies of 4 kb each, and at least 20 cookies per server or domain. •Cookie domain •Path •Expiration time or maximum age •Secure flag •HttpOnly flag. •Name–value pair Data to send to server Data to be used by browsers to determine when to delete a cookie, block a cookie or accept a cookie
  • 47. Setting Cookies Cookies can not only be set by server. These can be set by Javascript in client’s browsers (if cookie is not marked as HTTPOnly).
  • 48. Forms An HTML form on a web page allows a user to enter data that is sent to a server for processing.
  • 49. Forms Forms can be generated in several ways Server Browser Client Side Server Browser Server Side by programming languagesby javascript editing DOM
  • 50. Form Validation Forms can be validated in client side via javascript and in server side by application. Server Browser Please note that validation on client side could be bypassed easily
  • 51. Responsive web design Responsive web design (RWD) is a web design approach aimed at crafting sites to provide an optimal viewing experience—easy reading and navigation with a minimum of resizing, panning, and scrolling—across a wide range of devices (from desktop computer monitors to mobile phones) http://discover.store.sony.com/sportswalkman/ http://www.slideshare.net/bytte/responsive-web-design-10389263
  • 52. HTML5 vs FLASH Web browsers cannot render Flash media themselves, instead it is rendered primarily using the proprietary but freely available Adobe Flash Player http://sixrevisions.com/html/html5-infographics/ http://venturebeat.com/2012/01/31/html5-versus-flash-infographic/ All web browsers support HTML and other Web standards to various degrees.
  • 53. HTML5 vs FLASH It’s time for reading some code http://charag.com/client/eagleriverdaycamp/v2/eagle.html http://citwings.com/phillips_locked_room_game.html HTML5 Animation Flash Animation