SlideShare ist ein Scribd-Unternehmen logo
1 von 150
Downloaden Sie, um offline zu lesen
@stefanjudis
HTTP headers for the
responsible developer
My journey
on the web
freenet.de
uboot.com
1999
The web
connects people
2010
The web
connects people
We connect people!
We connect people!
We enable people!
We connect people!
We enable people!
We help people!
@stefanjudis
www.stefanjudis.com
Heyo,
I'm Stefan!
... and I want to be
a responsible developer
1999
2019
2019
We should be building
for everybody
"We don't have
users in/that ..."
"We don't have users in/that ..."
The challenge
of building
a "good" website
Design PerformanceContent Accessibility
DevicesNetworkFrameworks
Design PerformanceContent Accessibility
NetworkFrameworks Devices
Let's talk HTTP
https://the-responsible.dev/
Accept: text/html,application/xhtml+xml,application/xml

Accept-Encoding: gzip, deflate, br

Accept-Language: en-GB,en-US;q=0.9,en;q=0.8,de;q=0.7
...
Connection: keep-alive
Content-Type: text/html; charset=utf-8
Date: Mon, 11 Mar 2019 12:59:38 GMT
...
Response Body
Accept: text/html,application/xhtml+xml,application/xml

Accept-Encoding: gzip, deflate, br

Accept-Language: en-GB,en-US;q=0.9,en;q=0.8,de;q=0.7
...
https://the-responsible.dev/
Connection: keep-alive
Content-Type: text/html; charset=utf-8
Date: Mon, 11 Mar 2019 12:59:38 GMT
...
Response Body
the-responsible.dev
How can we use headers
to make this site better?
The web is
a scary place
thenextweb.com/contributors/2018/03/10/protect-website-cryptojacking-attacks/
shoptalkshow.com/episodes/special-one-one-hacker/
blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident
www.twilio.com/blog/learned-about-security-from-calling-35-contact-centers
www.twilio.com/blog/learned-about-security-from-calling-35-contact-centers
We always
rely on others
The web
has to be safe!
HTTPS
HTTP/2 ServiceWorker
getUserMedia() ...
whynohttps.com
requestmap.webperf.tools
Ensure encryption
Strict-Transport-Security:
max-age=1000
Strict-Transport-Security:
max-age=1000;
includeSubDomains
Strict-Transport-Security:
max-age=1000;
includeSubDomains;
preload
chromium.googlesource.com/chromium/src/net/+/master/http/
transport_security_state_static.json
chromium.googlesource.com/chromium/src/net/+/master/http/
transport_security_state_static.json
caniuse.com/#feat=stricttransportsecurity
Upgrade
HTTP requests
Content-Security-Policy:
upgrade-insecure-requests
Limit what's allowed
base-uri
block-all-mixed-content
connect-src
default-src
disown-opener
font-src
form-action
frame-ancestors
frame-src
img-src
manifest-src
media-src
navigate-to
object-src
plugin-types
report-sample
report-to
require-sri-for
sandbox
script-src
strict-dynamic
style-src
upgrade-insecure-requests
worker-src
developer.mozilla.org/en-US/docs/Web/HTTP/CSP
base-uri
block-all-mixed-content
connect-src
default-src
disown-opener
font-src
form-action
frame-ancestors
frame-src
img-src
manifest-src
media-src
navigate-to
object-src
plugin-types
report-sample
report-to
require-sri-for
sandbox
script-src
strict-dynamic
style-src
upgrade-insecure-requests
worker-src
developer.mozilla.org/en-US/docs/Web/HTTP/CSP
base-uri
block-all-mixed-content
connect-src
default-src
disown-opener
font-src
form-action
frame-ancestors
frame-src
img-src
manifest-src
media-src
navigate-to
object-src
plugin-types
report-sample
report-to
require-sri-for
sandbox
script-src
strict-dynamic
style-src
upgrade-insecure-requests
worker-src
developer.mozilla.org/en-US/docs/Web/HTTP/CSP
the-responsible.dev
<a href="https://..." target="_blank">
Link
</a>
<a href="https://..." target="_blank" rel="noopener">
Link
</a>
base-uri
block-all-mixed-content
connect-src
default-src
disown-opener
font-src
form-action
frame-ancestors
frame-src
img-src
manifest-src
media-src
navigate-to
object-src
plugin-types
report-sample
report-to
require-sri-for
sandbox
script-src
strict-dynamic
style-src
upgrade-insecure-requests
worker-src
developer.mozilla.org/en-US/docs/Web/HTTP/CSP
<meta http-equiv="Content-Security-Policy"
content="default-src 'self'; img-src https://*;">
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-
inline' 'unsafe-eval' just-comments.com www.google-analytics.com
production-assets.codepen.io storage.googleapis.com; style-src 'self'
'unsafe-inline'; img-src 'self' data: images.contentful.com
images.ctfassets.net www.gravatar.com www.google-analytics.com just-
comments.com; font-src 'self' data:; connect-src 'self'
cdn.contentful.com images.contentful.com videos.contentful.com
images.ctfassets.net videos.ctfassets.net service.just-comments.com
www.google-analytics.com; media-src 'self' videos.contentful.com
videos.ctfassets.net; object-src 'self'; frame-src codepen.io; frame-
ancestors 'self'; worker-src 'self'; block-all-mixed-content; manifest-src
'self' 'self'; disown-opener; prefetch-src 'self'; report-uri https://
stefanjudis.report-uri.com/r/d/csp/reportOnly
Content-Security-Policy-Report-Only: default-src 'self'; script-src
'self' 'unsafe-inline' 'unsafe-eval' just-comments.com www.google-
analytics.com production-assets.codepen.io storage.googleapis.com;
style-src 'self' 'unsafe-inline'; img-src 'self' data: images.contentful.com
images.ctfassets.net www.gravatar.com www.google-analytics.com just-
comments.com; font-src 'self' data:; connect-src 'self'
cdn.contentful.com images.contentful.com videos.contentful.com
images.ctfassets.net videos.ctfassets.net service.just-comments.com
www.google-analytics.com; media-src 'self' videos.contentful.com
videos.ctfassets.net; object-src 'self'; frame-src codepen.io; frame-
ancestors 'self'; worker-src 'self'; block-all-mixed-content; manifest-src
'self' 'self'; disown-opener; prefetch-src 'self'; report-uri https://
stefanjudis.report-uri.com/r/d/csp/reportOnly
Content-Security-Policy-Report-Only: default-src 'self'; script-src
'self' 'unsafe-inline' 'unsafe-eval' just-comments.com www.google-
analytics.com production-assets.codepen.io storage.googleapis.com;
style-src 'self' 'unsafe-inline'; img-src 'self' data: images.contentful.com
images.ctfassets.net www.gravatar.com www.google-analytics.com just-
comments.com; font-src 'self' data:; connect-src 'self'
cdn.contentful.com images.contentful.com videos.contentful.com
images.ctfassets.net videos.ctfassets.net service.just-comments.com
www.google-analytics.com; media-src 'self' videos.contentful.com
videos.ctfassets.net; object-src 'self'; frame-src codepen.io; frame-
ancestors 'self'; worker-src 'self'; block-all-mixed-content; manifest-src
'self' 'self'; disown-opener; prefetch-src 'self'; report-uri https://
stefanjudis.report-uri.com/r/d/csp/reportOnly
Content-Security-Policy-Report-Only: default-src 'self'; script-src
'self' 'unsafe-inline' 'unsafe-eval' just-comments.com www.google-
analytics.com production-assets.codepen.io storage.googleapis.com;
style-src 'self' 'unsafe-inline'; img-src 'self' data: images.contentful.com
images.ctfassets.net www.gravatar.com www.google-analytics.com just-
comments.com; font-src 'self' data:; connect-src 'self'
cdn.contentful.com images.contentful.com videos.contentful.com
images.ctfassets.net videos.ctfassets.net service.just-comments.com
www.google-analytics.com; media-src 'self' videos.contentful.com
videos.ctfassets.net; object-src 'self'; frame-src codepen.io; frame-
ancestors 'self'; worker-src 'self'; block-all-mixed-content; manifest-src
'self' 'self'; disown-opener; prefetch-src 'self'; report-uri https://
stefanjudis.report-uri.com/r/d/csp/reportOnly
Content-Security-Policy:
default-src 'self';
script-src 'sha256-blL...'
<script>
console.log('Inline script executing ...');
</script>
Content-Security-Policy:
default-src 'self';
script-src 'nonce-abc...'
<script nonce="abcdef">
console.log('Inline script executing ...');
</script>
caniuse.com/#feat=contentsecuritypolicy
*
caniuse.com/#feat=contentsecuritypolicy2
*
* some stuff missing or "misbehaving"
httparchive.org
How many pages
use CSP?
USE CSP DON'T USE CSP
94%
6%
USE CSP DON'T USE CSP
94%
6%
You should use it!
ALWAYS MONITOR YOUR CSP
REPORTS AND "TEST IN
PRODUCTION" WITH REPORT-
ONLY BEFORE ENFORCING THEM!
Troy Hunt
the-responsible.dev/safe/
The web is crucial
for people.
Your sh** doesn't
work in Africa.
William Imoh
You get 6MB for 2Euros
but you have only 24h to
use them! Right...
whatdoesmysitecost.com
The web
has to be affordable!
Don't request
the same content
over and over again
Cache-Control:
max-age=31536000, public
Cache-Control:
max-age=31536000, public, immutable
immutable
developer.mozilla.org/en-US/docs/Web/HTTP/
Headers/Cache-Control
csswizardry.com/2019/03/cache-control-for-civilians/
Send the right data
Accept-Encoding:
gzip, deflate, br
But Brotli compression
is so slow!
GZIP Brotlivs
GZIP Brotlivs
Default
Mode6
11
GZIP Brotli
Default
Mode
vs
6
11
GZIP Brotli
Optimal
middle
ground
vs
6
4
GZIP Brotli
Optimal
middle
ground
vs
6
4
Brotli tends to
compress better
with the same speed
GZIP Brotli
Optimal
middle
ground
vs
6
4
You don't have
to do it on the fly...
blogs.akamai.com/2016/02/understanding-brotlis-potential.html
caniuse.com/#feat=brotli
Serve tailored media
<picture>
<!-- serve WebP to Chrome and Opera -->
<source
media="(min-width: 50em)"
sizes="50vw"
srcset="/image/thing-200.webp 200w, /image/thing-400.webp 400w,
/image/thing-800.webp 800w, /image/thing-1200.webp 1200w,
/image/thing-1600.webp 1600w, /image/thing-2000.webp 2000w"
type="image/webp">
<source
sizes="(min-width: 30em) 100vw"
srcset="/image/thing-crop-200.webp 200w, /image/thing-crop-400.webp 400w,
/image/thing-crop-800.webp 800w, /image/thing-crop-1200.webp 1200w,
/image/thing-crop-1600.webp 1600w, /image/thing-crop-2000.webp 2000w"
type="image/webp">
<!-- serve JPEG to others -->
<source
media="(min-width: 50em)"
sizes="50vw"
srcset="/image/thing-200.jpg 200w, /image/thing-400.jpg 400w,
/image/thing-800.jpg 800w, /image/thing-1200.jpg 1200w,
/image/thing-1600.jpg 1600w, /image/thing-2000.jpg 2000w">
<source
sizes="(min-width: 30em) 100vw"
Accept:
image/webp,
image/apng,
image/*,*/*;q=0.8
Accept-CH: Width, Viewport-Width
Accept-CH-Lifetime: 100
Request URL: https://.../header.jpg

Viewport-Width: 980
Width: 1064
<img src="/header.jpg" alt="" sizes="100vw" />
Accept: image/webp,image/apng,image/*,*/*;q=0.8

Request URL: https://.../header.jpg

Viewport-Width: 980
Width: 1064
<img src="/header.jpg" alt="" sizes="100vw" />
Accept: image/webp,image/apng,image/*,*/*;q=0.8

Request URL: https://.../header.jpg

Viewport-Width: 980
Width: 1064
Serve a tailored version
via server/service worker
speaking.jeremy.codes/yD4dKY/take-a-client-hint
Save data
save-data: on
if ("connection" in navigator) {
if (navigator.connection.saveData === true) {
// Implement data saving operations here.
}
}
Let's use the platform
and make these
features more visible
blog.chromium.org/2019/03/chrome-lite-pages-for-faster-leaner.html
blog.chromium.org/2019/03/chrome-lite-pages-for-faster-leaner.html
I'm not sure
how I feel about that...
timkadlec.com/remembers/2019-03-14-making-sense-of-chrome-lite-pages/
Cache-Control:
max-age=31536000, public, no-transform
Be aware of CDNs and
proxies – use vary
the-responsible.dev/affordable/
The web is
with us every day
2018.bloomca.me
It has to be respectful!
Get stuff "down" as
quickly as possible
Link:
</fwdays.svg>; rel=preload; as=image
<link rel="preload" href="/fwdays.svg" as="image">
Link:
</fwdays.svg>; rel=preload; as=image; no-push
<link rel="preload" href="/fwdays.svg" as="image">
Link:
</fwdays.svg>; rel=preload; as=image; no-push
<link rel="preload" href="/fwdays.svg" as="image">
This is great to speed
up critical resources
caniuse.com/#feat=link-rel-preload
* link element but no headers
***
** behind a flag
Don't annoy the user
(aka. the AMP reaction)
speakerdeck.com/stefanjudis/amp-tries-to-fix-the-web-what-can-we-learn-from-it?slide=112
Feature-Policy:
vibrate 'none'; geolocation 'none'
accelerometer
ambient-light-sensor
autoplay
camera
document-domain
encrypted-media
fullscreen
geolocation
gyroscope
layout-animations
legacy-image-formats
magnetometer
microphone
midi
oversized-images
payment
picture-in-picture
speaker
sync-xhr
unoptimized-images
unsized-media
usb
vibrate
vr
developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy
accelerometer
ambient-light-sensor
autoplay
camera
document-domain
encrypted-media
fullscreen
geolocation
gyroscope
layout-animations
legacy-image-formats
magnetometer
microphone
midi
oversized-images
payment
picture-in-picture
speaker
sync-xhr
unoptimized-images
unsized-media
usb
vibrate
vr
developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy
accelerometer
ambient-light-sensor
autoplay
camera
document-domain
encrypted-media
fullscreen
geolocation
gyroscope
layout-animations
legacy-image-formats
magnetometer
microphone
midi
oversized-images
payment
picture-in-picture
speaker
sync-xhr
unoptimized-images
unsized-media
usb
vibrate
vr
developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy
<iframe allow="camera 'none'; microphone 'none'">
document.policy.allowedFeatures();
// → ["geolocation", "midi", ...]
document.policy.allowsFeature('geolocation');
// → true
document.policy.getAllowlistForFeature('geolocation');
// → ["https://example.com"]
<iframe allow="camera 'none'; microphone 'none'">
document.policy.allowedFeatures();
// → ["geolocation", "midi", ...]
document.policy.allowsFeature('geolocation');
// → true
document.policy.getAllowlistForFeature('geolocation');
// → ["https://example.com"]
JS API is still

under discussion...
What happened to the
most annoying one?
https://github.com/w3c/webappsec-feature-policy/issues/243
caniuse.com/#feat=feature-policy
* support only for allow on iframes
*
Respect privacy
caniuse.com/#feat=do-not-track
webkit.org/blog/8594/release-notes-for-safari-technology-preview-75/
caniuse.com/#feat=do-not-track
caniuse.com/#feat=do-not-track
It was a nice try,
but I don't really see
that happening...
blog.mozilla.org/futurereleases/2018/10/23/the-path-to-enhanced-tracking-protection/
www.xanjero.com/news/samsung-internet-beta-version-9-2-now-includes-oneui-design-smart-
anti-tracking-and-more-features/
the-responsible.dev/respectful/
Building for
the web is very hard
Me
Design PerformanceContent Accessibility
DevicesNetworkFrameworks
Lighthouse
webhint.io
If you want to get a more
complete overview...
schepp.github.io/HTTP-headers
The web has to be
safe...
The web has to be
safe, affordable...
The web has to be
safe, affordable and
respectful...
... so that it really is

for everybody!
@stefanjudis
www.stefanjudis.com
Thanks.
my-links.online/the-responsible-dev

Weitere ähnliche Inhalte

Was ist angesagt?

WordPress Security - Dealing With Today's Hacks
WordPress Security - Dealing With Today's HacksWordPress Security - Dealing With Today's Hacks
WordPress Security - Dealing With Today's Hacks
Tony Perez
 
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
Christian Heilmann
 

Was ist angesagt? (6)

CC tech-projects: overview (TELDAP 2009)
CC tech-projects: overview (TELDAP 2009)CC tech-projects: overview (TELDAP 2009)
CC tech-projects: overview (TELDAP 2009)
 
HTTPS The Road To A More Secure Web / SEOCamp Paris
HTTPS The Road To A More Secure Web / SEOCamp ParisHTTPS The Road To A More Secure Web / SEOCamp Paris
HTTPS The Road To A More Secure Web / SEOCamp Paris
 
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
 
How I learned to stop worrying and love the .htaccess file
How I learned to stop worrying and love the .htaccess fileHow I learned to stop worrying and love the .htaccess file
How I learned to stop worrying and love the .htaccess file
 
WordPress Security - Dealing With Today's Hacks
WordPress Security - Dealing With Today's HacksWordPress Security - Dealing With Today's Hacks
WordPress Security - Dealing With Today's Hacks
 
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
 

Ähnlich wie Stefan Judis "HTTP headers for the responsible developer"

Ähnlich wie Stefan Judis "HTTP headers for the responsible developer" (20)

Enjoying the full stack - Frontend 2010
Enjoying the full stack - Frontend 2010Enjoying the full stack - Frontend 2010
Enjoying the full stack - Frontend 2010
 
Rails security: above and beyond the defaults
Rails security: above and beyond the defaultsRails security: above and beyond the defaults
Rails security: above and beyond the defaults
 
HTTP_Header_Security.pdf
HTTP_Header_Security.pdfHTTP_Header_Security.pdf
HTTP_Header_Security.pdf
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
 
Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]
 
14 Things You Must Do Before Launching a Website
14 Things You Must Do Before Launching a Website14 Things You Must Do Before Launching a Website
14 Things You Must Do Before Launching a Website
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Browser Horror Stories
Browser Horror StoriesBrowser Horror Stories
Browser Horror Stories
 
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesMaximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
 
Desenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoDesenvolvimento Mobile Híbrido
Desenvolvimento Mobile Híbrido
 
Smart Browsers and HTML5 Web Apps for the Chrome Web Store
Smart Browsers and HTML5 Web Apps for the Chrome Web StoreSmart Browsers and HTML5 Web Apps for the Chrome Web Store
Smart Browsers and HTML5 Web Apps for the Chrome Web Store
 
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
 
11 Advanced Uses of Screaming Frog Nov 2019 DMSS
11 Advanced Uses of Screaming Frog Nov 2019 DMSS11 Advanced Uses of Screaming Frog Nov 2019 DMSS
11 Advanced Uses of Screaming Frog Nov 2019 DMSS
 
セキュアアプリケーションのためのHTTP設定
セキュアアプリケーションのためのHTTP設定セキュアアプリケーションのためのHTTP設定
セキュアアプリケーションのためのHTTP設定
 
GermaniumWeb training for CXA2010
GermaniumWeb training for CXA2010GermaniumWeb training for CXA2010
GermaniumWeb training for CXA2010
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript
 
Planning Adaptive Interfaces [EnhanceConf 2016]
Planning Adaptive Interfaces [EnhanceConf 2016]Planning Adaptive Interfaces [EnhanceConf 2016]
Planning Adaptive Interfaces [EnhanceConf 2016]
 
Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28
Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28
Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28
 

Mehr von Fwdays

Mehr von Fwdays (20)

"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
 
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast..."Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
 
"Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others..."Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others...
 
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
 
"Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv..."Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv...
 
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin..."How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Stefan Judis "HTTP headers for the responsible developer"