Fundamentals of Web for Non-Developers

Lemi Orhan Ergin
Lemi Orhan ErginSoftware Crafter à Craftbase
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
1 sur 55

Recommandé

Introduction to web development par
Introduction to web developmentIntroduction to web development
Introduction to web developmentMohammed Safwat
3.9K vues20 diapositives
Web development par
Web developmentWeb development
Web developmentRaziyaChoudhary
768 vues12 diapositives
Ppt of web development par
Ppt of web developmentPpt of web development
Ppt of web developmentbethanygfair
46.6K vues11 diapositives
Fundamentals of Web Development For Non-Developers par
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersLemi Orhan Ergin
64.2K vues42 diapositives
HTML, CSS And JAVASCRIPT! par
HTML, CSS And JAVASCRIPT!HTML, CSS And JAVASCRIPT!
HTML, CSS And JAVASCRIPT!Syahmi RH
652 vues19 diapositives
Introduction to Web Development par
Introduction to Web DevelopmentIntroduction to Web Development
Introduction to Web DevelopmentParvez Mahbub
4.8K vues21 diapositives

Contenu connexe

Tendances

Java Script ppt par
Java Script pptJava Script ppt
Java Script pptPriya Goyal
4.5K vues44 diapositives
Javascript par
JavascriptJavascript
Javascriptguest03a6e6
20K vues142 diapositives
Web Development Ppt par
Web Development PptWeb Development Ppt
Web Development PptBruce Tucker
14.3K vues5 diapositives
Web development presentation par
Web development presentationWeb development presentation
Web development presentationVaishnavi8950
688 vues18 diapositives
Automated testing APEX Applications par
Automated testing APEX ApplicationsAutomated testing APEX Applications
Automated testing APEX ApplicationsRoel Hartman
8K vues45 diapositives
Web developnment par
Web developnment Web developnment
Web developnment AshutoshSharma734
555 vues7 diapositives

Tendances(20)

Web Development Ppt par Bruce Tucker
Web Development PptWeb Development Ppt
Web Development Ppt
Bruce Tucker14.3K vues
Automated testing APEX Applications par Roel Hartman
Automated testing APEX ApplicationsAutomated testing APEX Applications
Automated testing APEX Applications
Roel Hartman8K vues
Web Development and Web Development technologies - Temitayo Fadojutimi par Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo FadojutimiWeb Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo Fadojutimi
Web Application Introduction par shaojung
Web Application  IntroductionWeb Application  Introduction
Web Application Introduction
shaojung4.9K vues
What is Keyword Research & How to Do it ? par Jam Hassan
What is Keyword Research & How to Do it ? What is Keyword Research & How to Do it ?
What is Keyword Research & How to Do it ?
Jam Hassan1.6K vues
Front end web development par viveksewa
Front end web developmentFront end web development
Front end web development
viveksewa17.9K vues
Internship - Bootstrap par tanay29
Internship - BootstrapInternship - Bootstrap
Internship - Bootstrap
tanay29972 vues
Modern Web Development par Robert Nyman
Modern Web DevelopmentModern Web Development
Modern Web Development
Robert Nyman15.4K vues
Eye catching HTML BASICS tips: Learn easily par shabab shihan
Eye catching HTML BASICS tips: Learn easilyEye catching HTML BASICS tips: Learn easily
Eye catching HTML BASICS tips: Learn easily
shabab shihan2.8K vues
Web Designing Presentation par RahulSuri30
Web Designing PresentationWeb Designing Presentation
Web Designing Presentation
RahulSuri302.5K vues

En vedette

Web Application Development Fundamentals par
Web Application Development FundamentalsWeb Application Development Fundamentals
Web Application Development FundamentalsMohammed Makhlouf
13.3K vues65 diapositives
What the Hell is the Internet Anyway? - A History of the Web par
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
24K vues104 diapositives
Basic Web Concepts par
Basic Web ConceptsBasic Web Concepts
Basic Web ConceptsCherry Ann Labandero
15.8K vues10 diapositives
Basic fundamentals of web application development par
Basic fundamentals of web application developmentBasic fundamentals of web application development
Basic fundamentals of web application developmentsofyjohnson18
2K vues13 diapositives
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos... par
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
2.5K vues42 diapositives
Web 3.0 The Semantic Web par
Web 3.0 The Semantic WebWeb 3.0 The Semantic Web
Web 3.0 The Semantic WebHatem Mahmoud
139.8K vues144 diapositives

En vedette(17)

Web Application Development Fundamentals par Mohammed Makhlouf
Web Application Development FundamentalsWeb Application Development Fundamentals
Web Application Development Fundamentals
Mohammed Makhlouf13.3K vues
Basic fundamentals of web application development par sofyjohnson18
Basic fundamentals of web application developmentBasic fundamentals of web application development
Basic fundamentals of web application development
sofyjohnson182K vues
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos... par Lemi Orhan Ergin
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 Ergin2.5K vues
Web 3.0 The Semantic Web par Hatem Mahmoud
Web 3.0 The Semantic WebWeb 3.0 The Semantic Web
Web 3.0 The Semantic Web
Hatem Mahmoud139.8K vues
Introduction to Web Architecture par Chamnap Chhorn
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
Chamnap Chhorn141K vues
Architecture of a Modern Web App par scothis
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
scothis82.7K vues
Test Driven Design - GDG DevFest Istanbul 2016 par Lemi Orhan Ergin
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016
Lemi Orhan Ergin244.5K vues
Finding more people like you par arunv
Finding more people like youFinding more people like you
Finding more people like you
arunv456 vues
Web Fundamentals par arunv
Web FundamentalsWeb Fundamentals
Web Fundamentals
arunv4.4K vues
Intro to Front-End Web Devlopment par damonras
Intro to Front-End Web DevlopmentIntro to Front-End Web Devlopment
Intro to Front-End Web Devlopment
damonras1.6K vues
Website design and devlopment par PX Media
Website design and devlopmentWebsite design and devlopment
Website design and devlopment
PX Media510 vues
Web Issues par tterrill
Web IssuesWeb Issues
Web Issues
tterrill632 vues

Similaire à Fundamentals of Web for Non-Developers

Introductiontowebarchitecture 090922221506-phpapp01 par
Introductiontowebarchitecture 090922221506-phpapp01Introductiontowebarchitecture 090922221506-phpapp01
Introductiontowebarchitecture 090922221506-phpapp01Maisha Price
211 vues49 diapositives
21. Application Development and Administration in DBMS par
21. Application Development and Administration in DBMS21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMSkoolkampus
4K vues71 diapositives
World wide web architecture presentation par
World wide web architecture presentationWorld wide web architecture presentation
World wide web architecture presentationImMe Khan
16K vues49 diapositives
Evolution Of The Web Platform & Browser Security par
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecuritySanjeev Verma, PhD
396 vues53 diapositives
Basics of the Web Platform par
Basics of the Web PlatformBasics of the Web Platform
Basics of the Web PlatformSanjeev Verma, PhD
1.6K vues53 diapositives
WP Chap 1 & 2.pptx par
WP Chap 1 & 2.pptxWP Chap 1 & 2.pptx
WP Chap 1 & 2.pptxAnkitaChauhan79
19 vues50 diapositives

Similaire à Fundamentals of Web for Non-Developers(20)

Introductiontowebarchitecture 090922221506-phpapp01 par Maisha Price
Introductiontowebarchitecture 090922221506-phpapp01Introductiontowebarchitecture 090922221506-phpapp01
Introductiontowebarchitecture 090922221506-phpapp01
Maisha Price211 vues
21. Application Development and Administration in DBMS par koolkampus
21. Application Development and Administration in DBMS21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS
koolkampus4K vues
World wide web architecture presentation par ImMe Khan
World wide web architecture presentationWorld wide web architecture presentation
World wide web architecture presentation
ImMe Khan16K vues
WEB-DBMS A quick reference par Marc Dy
WEB-DBMS A quick referenceWEB-DBMS A quick reference
WEB-DBMS A quick reference
Marc Dy4.5K vues
Configuring the Apache Web Server par webhostingguy
Configuring the Apache Web ServerConfiguring the Apache Web Server
Configuring the Apache Web Server
webhostingguy4.3K vues
Web Server Hardware and Software par webhostingguy
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Software
webhostingguy21K vues
Web Database par idroos7
Web DatabaseWeb Database
Web Database
idroos712.7K vues
Web Development Presentation par TurnToTech
Web Development PresentationWeb Development Presentation
Web Development Presentation
TurnToTech2.3K vues
05.m3 cms list-ofwebserver par tarensi
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver
tarensi360 vues
0_Leksion_Web_Servers (1).pdf par Zani10
0_Leksion_Web_Servers (1).pdf0_Leksion_Web_Servers (1).pdf
0_Leksion_Web_Servers (1).pdf
Zani1013 vues

Plus de Lemi Orhan Ergin

Clean Software Design: The Practices to Make The Design Simple par
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
3K vues43 diapositives
Unwritten Manual for Pair Programming par
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingLemi Orhan Ergin
1.3K vues60 diapositives
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018 par
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
2.5K vues30 diapositives
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D... par
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
809 vues26 diapositives
Irresponsible Disclosure: Short Handbook of an Ethical Developer par
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
1.2K vues37 diapositives
Scrum Events and Artifacts in Action par
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionLemi Orhan Ergin
1.6K vues20 diapositives

Plus de Lemi Orhan Ergin(20)

Clean Software Design: The Practices to Make The Design Simple par Lemi Orhan Ergin
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
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018 par Lemi Orhan Ergin
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
Lemi Orhan Ergin2.5K vues
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D... par Lemi 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...
Lemi Orhan Ergin809 vues
Irresponsible Disclosure: Short Handbook of an Ethical Developer par Lemi Orhan Ergin
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Lemi Orhan Ergin1.2K vues
DevOps & Technical Agility: From Theory to Practice par Lemi Orhan Ergin
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to Practice
Lemi Orhan Ergin1.3K vues
Fighting with Waste Driven Development - XP Days Ukraine 2017 par Lemi Orhan Ergin
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
Lemi Orhan Ergin1.2K vues
Git Anti Patterns - XP Days Ukraine 2017 par Lemi Orhan Ergin
Git Anti Patterns - XP Days Ukraine 2017Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017
Lemi Orhan Ergin1.6K vues
Waste Driven Development - Agile Coaching Serbia Meetup par Lemi Orhan Ergin
Waste Driven Development - Agile Coaching Serbia MeetupWaste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia Meetup
Lemi Orhan Ergin955 vues
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey... par Lemi 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: How To Mess Up With Git and Love it Again - DevoxxPL 2017 par Lemi Orhan Ergin
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
Lemi Orhan Ergin1.6K vues
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov... par Lemi 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...
Lemi Orhan Ergin925 vues
Git Anti-Patterns: How To Mess Up With Git and Love it Again par Lemi Orhan Ergin
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
Lemi Orhan Ergin2.8K vues
Clean Software Design - DevNot Summit Istanbul 2017 par Lemi Orhan Ergin
Clean Software Design - DevNot Summit Istanbul 2017Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017
Lemi Orhan Ergin1.5K vues
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers par Lemi Orhan Ergin
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
Lemi Orhan Ergin4.3K vues
Code Your Agility - Tips for Boosting Technical Agility in Your Organization par Lemi Orhan Ergin
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
Lemi Orhan Ergin26.2K vues
Lost in Motivation in an Agile World par Lemi Orhan Ergin
Lost in Motivation in an Agile WorldLost in Motivation in an Agile World
Lost in Motivation in an Agile World
Lemi Orhan Ergin32.3K vues
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote) par Lemi 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)
Lemi Orhan Ergin13.3K vues

Dernier

StudioX.pptx par
StudioX.pptxStudioX.pptx
StudioX.pptxNikhileshSathyavarap
63 vues18 diapositives
Papal.pdf par
Papal.pdfPapal.pdf
Papal.pdfMariaKenney3
50 vues24 diapositives
Retail Store Scavenger Hunt.pptx par
Retail Store Scavenger Hunt.pptxRetail Store Scavenger Hunt.pptx
Retail Store Scavenger Hunt.pptxjmurphy154
47 vues10 diapositives
Volf work.pdf par
Volf work.pdfVolf work.pdf
Volf work.pdfMariaKenney3
66 vues43 diapositives
INT-244 Topic 6b Confucianism par
INT-244 Topic 6b ConfucianismINT-244 Topic 6b Confucianism
INT-244 Topic 6b ConfucianismS Meyer
44 vues77 diapositives
EILO EXCURSION PROGRAMME 2023 par
EILO EXCURSION PROGRAMME 2023EILO EXCURSION PROGRAMME 2023
EILO EXCURSION PROGRAMME 2023info33492
124 vues40 diapositives

Dernier(20)

Retail Store Scavenger Hunt.pptx par jmurphy154
Retail Store Scavenger Hunt.pptxRetail Store Scavenger Hunt.pptx
Retail Store Scavenger Hunt.pptx
jmurphy15447 vues
INT-244 Topic 6b Confucianism par S Meyer
INT-244 Topic 6b ConfucianismINT-244 Topic 6b Confucianism
INT-244 Topic 6b Confucianism
S Meyer44 vues
EILO EXCURSION PROGRAMME 2023 par info33492
EILO EXCURSION PROGRAMME 2023EILO EXCURSION PROGRAMME 2023
EILO EXCURSION PROGRAMME 2023
info33492124 vues
Career Building in AI - Technologies, Trends and Opportunities par WebStackAcademy
Career Building in AI - Technologies, Trends and OpportunitiesCareer Building in AI - Technologies, Trends and Opportunities
Career Building in AI - Technologies, Trends and Opportunities
WebStackAcademy40 vues
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant... par Ms. Pooja Bhandare
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Create a Structure in VBNet.pptx par Breach_P
Create a Structure in VBNet.pptxCreate a Structure in VBNet.pptx
Create a Structure in VBNet.pptx
Breach_P80 vues
The Accursed House by Émile Gaboriau par DivyaSheta
The Accursed House  by Émile GaboriauThe Accursed House  by Émile Gaboriau
The Accursed House by Émile Gaboriau
DivyaSheta234 vues
11.28.23 Social Capital and Social Exclusion.pptx par mary850239
11.28.23 Social Capital and Social Exclusion.pptx11.28.23 Social Capital and Social Exclusion.pptx
11.28.23 Social Capital and Social Exclusion.pptx
mary850239383 vues
Education of marginalized and socially disadvantages segments.pptx par GarimaBhati5
Education of marginalized and socially disadvantages segments.pptxEducation of marginalized and socially disadvantages segments.pptx
Education of marginalized and socially disadvantages segments.pptx
GarimaBhati539 vues
Class 9 lesson plans par TARIQ KHAN
Class 9 lesson plansClass 9 lesson plans
Class 9 lesson plans
TARIQ KHAN53 vues
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE... par Nguyen Thanh Tu Collection
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...
Guidelines & Identification of Early Sepsis DR. NN CHAVAN 02122023.pptx par Niranjan Chavan
Guidelines & Identification of Early Sepsis DR. NN CHAVAN 02122023.pptxGuidelines & Identification of Early Sepsis DR. NN CHAVAN 02122023.pptx
Guidelines & Identification of Early Sepsis DR. NN CHAVAN 02122023.pptx
Niranjan Chavan38 vues

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