Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Um pouco da origem para chegar no WSGI
Search
Roger Camargo
November 16, 2022
Programming
61
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Um pouco da origem para chegar no WSGI
Roger Camargo
November 16, 2022
More Decks by Roger Camargo
See All by Roger Camargo
AWS Lambda, Rodar local, com testes, IaC e Deploy via ansible
huogerac
1
46
Mapa de estudo dev frontend 2023
huogerac
1
97
Documentando API no Django com django-ninja
huogerac
1
140
"API Design First" pt-br
huogerac
0
290
Design First Web APIs - OpenAPI 3
huogerac
1
120
3 Arquiteturas Django
huogerac
1
350
Django ORM vs SQLAlchemy (queries)
huogerac
0
220
Django ORM vs SQLAlchemy (intro)
huogerac
0
110
Site Imobiliario Django
huogerac
0
130
Other Decks in Programming
See All in Programming
APNsからLive Activityを開始する話
yumnumm
0
150
残高管理から台帳サービスへの進化
artoy
0
150
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
550
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
FreeBSDでZabbixを動かす
kenkino
0
360
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
350
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
190
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
450
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
370
mrbgem 三角測量 開発
ogom
0
200
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
350
すこし踏み込む CancellationToken
htkym
2
1.6k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Everyday Curiosity
cassininazir
0
340
Build your cross-platform service in a week with App Engine
jlugia
234
19k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
400
Evolving SEO for Evolving Search Engines
ryanjones
0
310
Chasing Engaging Ingredients in Design
codingconduct
0
340
Marketing to machines
jonoalderson
1
5.9k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
Are puppies a ranking factor?
jonoalderson
2
4k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Transcript
Web Forms
/index.html CLIENT SERVER REQUEST 1989
/index.html CLIENT SERVER REQUEST <html> <h1>Hello!</h1> </html>
CLIENT SERVER RESPONSE Hello!
GET /mypage.html HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date:
Tue, 15 Nov 1994 08:12:31 GMT Server: CERN/3.0 libwww/2.17 Content-Type: text/html <HTML> A page with an image <IMG SRC="/myimage.gif"> </HTML> https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP Exemplo request/response
Web estática por design
CLIENT SERVER 1991
CLIENT SERVER <form action=”/cgi/form.py” method=”post”> <input name=”full_name”> <input name=”email”> <input
name=”message”> <input type=”submit” value=”Submit”> </form> REQUEST HTTP SERVER RUN SCRIPT + Print output ENV VARs read (STDIN, $query_string, $ENV{'CONTENT_LENGTH'}); Perl Bash Python
CLIENT SERVER REQUEST HTTP SERVER RUN SCRIPT + Print output
HTTP SERVER RESPONSE print(“Contato Enviado!”) Contato Enviado!
- Muitos http servers - Muitas formas de nomear variáveis
para rodar scripts - Scripts não eram portáveis entre diferentes http web servers - Desenvolvedores queriam um padrão para nomear as variáveis e deixar scripts portáveis e padronizados Problemas no início dos forms:
The Dark Side of the Moon CGI Common Gateway Interface
(specification) 1993 início 1997 mais popular https://en.wikipedia.org/wiki/Common_Gateway_Interface https://www.jmarshall.com/easy/cgi/portuguese/
https://help.hcltechsw.com/dom_designer/9.0.1/appdev/H_TABLE_OF_CGI_VARIABLES_3561.html
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP Mas e o WSGI? Browser Web Server Python Web
App HTTP WSGI
Com diversos Python Web frameworks… Precisava padronizar a forma que
os scripts eram chamados e não só as variáveis de ambientes…
Python Web Server Gateway Interface Or WSGI == “wizgy” https://www.python.org/dev/peps/pep-0333/
2003 https://ruslanspivak.com/lsbaws-part2/
Roger Camargo https://huogerac.hashnode.dev