Desconstruindo a escrita: paráfrase como mecanismo de silenciamento do sujeito-aluno
Desconstruindo a web
-
Upload
willian-molinari -
Category
Technology
-
view
1.740 -
download
0
Transcript of Desconstruindo a web
![Page 1: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/1.jpg)
Desconstruindo a webWillian Molinari (a.k.a PotHix)
![Page 2: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/2.jpg)
Aviso
![Page 3: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/3.jpg)
Willian Molinaria.k.a PotHix
![Page 6: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/6.jpg)
Plaev.github.io
![Page 7: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/7.jpg)
Porque dessa talk?
![Page 8: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/8.jpg)
![Page 9: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/9.jpg)
![Page 10: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/10.jpg)
https://www.youtube.com/watch?v=nG1oGfrDiUc
![Page 11: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/11.jpg)
https://www.youtube.com/watch?v=nG1oGfrDiUc
![Page 12: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/12.jpg)
Essa talk se baseia em
![Page 13: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/13.jpg)
Internet
![Page 14: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/14.jpg)
Internet
![Page 15: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/15.jpg)
The dawn of the net
![Page 16: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/16.jpg)
Internet
![Page 17: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/17.jpg)
![Page 21: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/21.jpg)
“O que significa PotHix”
“O que significa PotHix”
![Page 23: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/23.jpg)
http://pothix.com
http://pothix.com
Tem HSTS?
Strict-Transport-Security
![Page 24: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/24.jpg)
http://pothix.com
Tem cache?
Expires Cache-Control
http://pothix.com
![Page 25: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/25.jpg)
Protocolo: http://Domínio: pothix.com
Path: /
Tem cache de DNS?
![Page 26: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/26.jpg)
ChromeFaz cache de DNS
![Page 27: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/27.jpg)
http://aosabook.org/en/posa/high-performance-networking-in-chrome.html
![Page 28: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/28.jpg)
getaddrinfo()
![Page 29: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/29.jpg)
sistema operacional
![Page 31: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/31.jpg)
glibc -> /etc/hostsnss/nss_files/files-hosts.c
![Page 32: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/32.jpg)
glibc -> getaddrinfo()sysdeps/posix/getaddrinfo.c
2321 getaddrinfo (const char *name, const char *service, 2322 const struct addrinfo *hints, struct addrinfo **pai) 2323 {
![Page 33: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/33.jpg)
getaddrinfo()Tem nscd para cache de DNS?
![Page 34: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/34.jpg)
Internet
- glibc
POSIX
![Page 35: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/35.jpg)
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Físico
ModeloOSI
![Page 36: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/36.jpg)
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Físico
ModeloOSI
![Page 37: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/37.jpg)
SRLY?
![Page 38: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/38.jpg)
Aplicação
Transporte
Rede
Enlace
Físico
Sessão
Apresentação
![Page 39: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/39.jpg)
Aplicação
Transporte
Rede
Enlace
Físico
![Page 40: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/40.jpg)
Aplicação
Transporte
Rede
Enlace
Físico
SOuser
![Page 41: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/41.jpg)
TCP / UDP
DNSAplicação
Transporte
Rede
Enlace
Físico
IP
Ethernet / Wi-Fi
010101001011
![Page 42: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/42.jpg)
DNS
TCP / UDP
Aplicação
Transporte
Rede
Enlace
Físico
IP
Ethernet / Wi-Fi
010101001011
![Page 43: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/43.jpg)
código disponível em: chromium/src/net/dns
![Page 44: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/44.jpg)
getaddrinfo()__socket() & __connect()
sysdeps/posix/getaddrinfo.c2515 fd = __socket (af, SOCK_DGRAM, IPPROTO_IP); [...]2526 [...] && __connect (fd, q->ai_addr, q->ai_addrlen) == 0
![Page 45: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/45.jpg)
terminal
$ sudo strace -f -e bind,socket,fork,connect -p $(ps aux | grep chromium | grep -v nacl | awk '{ print $2}' | xargs echo | sed 's/ /,/g')[...][pid 8739] socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 134[pid 8739] connect(134, {sa_family=AF_INET6, sin6_port=htons(53), inet_pton(AF_INET6, "2001:4860:4860::8888", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)[pid 9010] socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 134[pid 9010] connect(134, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.30.252.154")}, 16) = 0[pid 8739] socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 134[pid 8739] connect(134, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("192.30.252.154")}, 16) = -1 EINPROGRESS (Operation now in progress)[...]
Syscalls in action! (*stripped)
![Page 46: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/46.jpg)
terminal
$ sudo strace -f -e bind,socket,fork,connect -p $(ps aux | grep chromium | grep -v nacl | awk '{ print $2}' | xargs echo | sed 's/ /,/g')[...][pid 8739] socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 134[pid 8739] connect(134, {sa_family=AF_INET6, sin6_port=htons(53), inet_pton(AF_INET6, "2001:4860:4860::8888", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)[pid 9010] socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 134[pid 9010] connect(134, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.30.252.154")}, 16) = 0[pid 8739] socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 134[pid 8739] connect(134, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("192.30.252.154")}, 16) = -1 EINPROGRESS (Operation now in progress)[...]
Syscalls in action! (*stripped)
UDP para ipv6nope :(
UDPipv4
request
![Page 47: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/47.jpg)
Happy eyebals (rfc6555): https://www.ietf.org/mail-archive/web/v6ops/current/msg22455.html
![Page 51: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/51.jpg)
DNSAplicação
Transporte
Rede
Enlace
Físico
TCP / UDP
IP
Ethernet / Wi-Fi
010101001011
![Page 52: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/52.jpg)
UDP/IPlinux/blob/master/net/ipv4/udp.c
![Page 53: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/53.jpg)
UDP
![Page 54: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/54.jpg)
Conteúdo
![Page 55: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/55.jpg)
Endereço (IP)
![Page 56: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/56.jpg)
![Page 57: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/57.jpg)
?
![Page 58: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/58.jpg)
DNSAplicação
Transporte
Rede
Enlace
Físico
TCP / UDP
IP
Ethernet / Wi-Fi
010101001011
![Page 59: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/59.jpg)
DNSAplicação
Transporte
Rede
Enlace
Físico
TCP / UDP
IP
Mágica, bro!
![Page 60: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/60.jpg)
A visual explanation of how dns lookups work
![Page 61: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/61.jpg)
Via dnstracer: `dnstracer -s . -4 -o pothix.com`
A.ROOT-SERVERS.NET [.] (198.41.0.4)
a.gtld-servers.net [com] (192.5.6.30)
ns1.dreamhost.com [pothix.com] (66.33.206.206) Got authoritative answer
ns1.dreamhost.com (66.33.206.206) pothix.com -> 192.30.252.153ns1.dreamhost.com (66.33.206.206)pothix.com -> 192.30.252.154
![Page 62: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/62.jpg)
Internet
glibcDNS
TCP/IP
UDP/IP
POSIX
![Page 63: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/63.jpg)
Internet
glibcDNS
TCP/IP
UDP/IP
POSIX
HTTP
![Page 64: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/64.jpg)
HTTP/HTTPS
TCP / UDP
IP
Ethernet / Wi-Fi
010101001011
Aplicação
Transporte
Rede
Enlace
Físico
![Page 65: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/65.jpg)
HTTP/HTTPS
TCP / UDP
IP
Ethernet / Wi-Fi
010101001011
Aplicação
Transporte
Rede
Enlace
Físico
![Page 66: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/66.jpg)
TCPlinux/blob/master/net/ipv4/tcp.c
![Page 67: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/67.jpg)
https://en.wikipedia.org/wiki/Transmission_Control_Protocol
![Page 68: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/68.jpg)
ACK
SYN + ACK
ACK
Three way handshake
![Page 69: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/69.jpg)
LISTENINGSYN
LISTENSYNSENT
![Page 70: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/70.jpg)
SYN+ACK
LISTENSYNRECEIVEDSYNSENT
![Page 71: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/71.jpg)
SYNRECEIVEDSYNSENTESTABLISHED
ACK
![Page 72: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/72.jpg)
ESTABLISHEDSYNSENTESTABLISHED
É NÓIS! É NÓIS!
![Page 73: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/73.jpg)
![Page 74: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/74.jpg)
HTTP/HTTPS
TCP / UDP
IP
Ethernet / Wi-Fi
010101001011
Aplicação
Transporte
Rede
Enlace
Físico
![Page 75: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/75.jpg)
HTTPS
![Page 76: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/76.jpg)
TLS = fork(SSLv3)SSLv3 is no longer supported in chrome
![Page 77: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/77.jpg)
HTTP/HTTPS
TCP / UDP
IP
Ethernet / Wi-Fi
010101001011
Aplicação
Transporte
Rede
Enlace
Físico
TLS
![Page 78: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/78.jpg)
TLS
![Page 79: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/79.jpg)
conexão estabelecida
client hello (CIPHERS, URL)
Os primeiros milisegundos de uma conexão HTTPS
![Page 80: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/80.jpg)
https://cc.dcsec.uni-hannover.de/
![Page 81: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/81.jpg)
conexão estabelecida
Server hello(certificado, CIPHER)
TLS_RSA_WITH_RC4_128_MD5
publickey
crypt hash
![Page 82: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/82.jpg)
conexão estabelecida
Data válida?CA confiável?
Assinatura válida?URL esperada?
![Page 83: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/83.jpg)
conexão estabelecida
![Page 84: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/84.jpg)
conexão estabelecida
Gerei uma parada aqui(pre_master secret)
!^*@#$&!@(#$&!@#)$^$^
TLS_RSA_WITH_RC4_128_MD5
![Page 85: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/85.jpg)
conexão estabelecida
!!@U#$N!Y*@#$*
master secret
TLS_RSA_WITH_RC4_128_MD5
![Page 86: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/86.jpg)
conexão estabelecida
É NÓIS!
TLS_RSA_WITH_RC4_128_MD5
criptografiados dados
verificação contra conteúdo “batizado”
É NÓIS!
![Page 87: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/87.jpg)
TLSHTTP HTTP
Internet
headersurlcookies
headersurlcookies
![Page 88: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/88.jpg)
HTTP/HTTP2chromium - net/http & net/spdy
![Page 89: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/89.jpg)
Rafael RinaldiDissecando o protocolo HTTP/2
![Page 90: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/90.jpg)
HTTP 1x via telnet
$ telnet pothix.com 80Trying 192.30.252.153...Connected to pothix.com.Escape character is '^]'.GET /index.html HTTP/1.1Host: pothix.com
HTTP/1.1 200 OKServer: GitHub.com...
terminal
![Page 91: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/91.jpg)
HTTP/HTTPS
TCP / UDP
IP
Ethernet / Wi-Fi
010101001011
Aplicação
Transporte
Rede
Enlace
Físico
![Page 92: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/92.jpg)
Aplicação
Transporte
Rede
Enlace
Físico
![Page 93: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/93.jpg)
HTTP/HTTPS
TCP / UDP
IP
Ethernet / Wi-Fi
010101001011
Aplicação
Transporte
Rede
Enlace
Físico
![Page 94: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/94.jpg)
papers/Vipin_Analysis_of_open_source_WLAN_driver_paper.pdf
➔ net/ipv4/tcp.c
➔ include/net/cfg80211.h➔ net/wireless/nl80211.c➔ include/net/mac80211.h
➔ drivers/net/wireless/iwlwifi/
![Page 95: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/95.jpg)
InternetglibcDNS
TCP/IP
UDP/IP
HTTP
POSIX
![Page 98: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/98.jpg)
Carrier
Sense
Multiple
Access
Collision
Avoidance
![Page 99: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/99.jpg)
G
![Page 100: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/100.jpg)
GB G
![Page 101: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/101.jpg)
glibcDNS
TCP/IP
UDP/IP
HTTP
POSIX
Internet
![Page 102: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/102.jpg)
# traceroute -T pothix.com
traceroute to pothix.com (192.30.252.153), 30 hops max, 60 byte packets
1 palantir (192.168.1.1) 8.718 ms 8.769 ms 8.868 ms
2 10.18.128.1 (10.18.128.1) 25.058 ms 25.673 ms 27.189 ms
3 c8bd5001.virtua.com.br (200.189.80.1) 29.071 ms 29.073 ms 29.068 ms
4 embratel-T0-7-2-0-tacc01.spoph.embratel.net.br (200.178.127.57) 32.917 ms
embratel-T0-4-1-0-uacc03.spomb.embratel.net.br (189.42.182.37) 31.734 ms
embratel-T0-1-0-2-uacc04.spoph.embratel.net.br (201.56.189.9) 36.481 ms
5 ebt-H0-1-0-0-tcore01.spolp.embratel.net.br (200.230.1.242) 37.800 ms
200.244.212.73 (200.244.212.73) 37.803 ms
200.244.212.81 (200.244.212.81) 41.446 ms
6 ebt-BP1082-intl02.nyk.embratel.net.br (200.230.220.30) 204.822 ms
ebt-B11121-intl02.nyk.embratel.net.br (200.230.251.254) 192.381 ms
ebt-BP11521-intl02.nyk.embratel.net.br (200.230.220.174) 189.936 ms
7 fa-0-0-0.r23.nycmny01.us.bb.gin.ntt.net (129.250.202.185) 192.297 ms 172.074 ms 172.013 ms
8 ae-9.r22.asbnva02.us.bb.gin.ntt.net (129.250.2.149) 171.973 ms 167.012 ms 166.951 ms
9 ae-44.r06.asbnva02.us.bb.gin.ntt.net (129.250.6.113) 166.888 ms 166.873 ms
ae-45.r05.asbnva02.us.bb.gin.ntt.net (129.250.5.137) 212.669 ms
10 xe-0-3-0-18.r05.asbnva02.us.ce.gin.ntt.net (129.250.197.70) 202.448 ms
xe-0-9-0-16.r06.asbnva02.us.ce.gin.ntt.net (129.250.197.74) 201.593 ms 202.489 ms
11 pages.github.com (192.30.252.153) 171.337 ms * *
TCP meu router
github pages USA backbone
backboneembratel
NET
![Page 103: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/103.jpg)
Internet
![Page 104: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/104.jpg)
Nginx conf fileupstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3;
server backup1.example.com:8080 backup; server backup2.example.com:8080 backup;}
...
http://nginx.org/en/docs/http/ngx_http_upstream_module.html#server
TCP
Unix Socket
![Page 105: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/105.jpg)
Internet
assets
TCP
http://12factor.net/port-binding
![Page 106: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/106.jpg)
HTTP parsingragel vindo lá do velho mongrel*
*de acordo com o documento de design do unicorn
![Page 107: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/107.jpg)
Internet
assets
TCP
![Page 108: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/108.jpg)
Webserver -> Frameworkbaseado no PEP3333
![Page 109: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/109.jpg)
Internet
assets
TCP
![Page 110: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/110.jpg)
lib/rails/application.rbRack -> Rails
mais informações no post do timaro no omniref
![Page 111: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/111.jpg)
É um Rack application ...
# Implements call according to the Rack API. It simply
# dispatches the request to the underlying middleware stack.
def call(env)
env["ORIGINAL_FULLPATH"] = build_original_fullpath(env)
env["ORIGINAL_SCRIPT_NAME"] = env["SCRIPT_NAME"]
super(env)
end
...
![Page 112: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/112.jpg)
mais informações no post do timaro no omniref
Informações do Rack{"GATEWAY_INTERFACE"=>"CGI/1.1",
"PATH_INFO"=>"/favicon.ico",
"QUERY_STRING"=>"",
"REMOTE_ADDR"=>"127.0.0.1",
"REMOTE_HOST"=>"localhost.localdomain",
"REQUEST_METHOD"=>"GET",
"REQUEST_URI"=>"http://localhost:9292/favicon.ico",
"SCRIPT_NAME"=>"",
"SERVER_NAME"=>"localhost",
"SERVER_PORT"=>"9292",
"SERVER_PROTOCOL"=>"HTTP/1.1",
"SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/2.2.3/2015-08-18)",
"HTTP_HOST"=>"localhost:9292",
"HTTP_CONNECTION"=>"keep-alive",
"HTTP_USER_AGENT"=>"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36",
"HTTP_ACCEPT"=>"*/*",
"HTTP_REFERER"=>"http://localhost:9292/",
"HTTP_ACCEPT_ENCODING"=>"gzip, deflate, sdch",
"HTTP_ACCEPT_LANGUAGE"=>"en-US,en;q=0.8,pt-BR;q=0.6,pt;q=0.4,es;q=0.2,eo;q=0.2", "rack.version"=>[1, 2],
"rack.multithread"=>true, "rack.multiprocess"=>false, "rack.run_once"=>false, "rack.url_scheme"=>"http", "HTTP_VERSION"=>"HTTP/1.1", "REQUEST_PATH"=>"/favicon.ico"}
![Page 113: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/113.jpg)
Rails::EngineTodas as apps são Engines
mais informações no post do timaro no omniref
![Page 114: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/114.jpg)
mais informações no post do timaro no omniref
Rack middlewares[
Rack::Sendfile,
ActionDispatch::Static, Rack::Lock,
#<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x000000028fa168>,
Rack::Runtime, Rack::MethodOverride,
ActionDispatch::RequestId,
Rails::Rack::Logger,
ActionDispatch::ShowExceptions,
WebConsole::Middleware,
ActionDispatch::DebugExceptions,
ActionDispatch::RemoteIp,
ActionDispatch::Reloader,
ActionDispatch::Callbacks,
ActiveRecord::Migration::CheckPending,
ActiveRecord::ConnectionAdapters::ConnectionManagement,
ActiveRecord::QueryCache,
ActionDispatch::Cookies,
ActionDispatch::Session::CookieStore,
ActionDispatch::Flash,
ActionDispatch::ParamsParser,
Rack::Head,
Rack::ConditionalGet,
Rack::ETag
]
![Page 115: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/115.jpg)
ActionDispatch::Journey::Router
a primeira parte do seu código a ser tocada
mais informações no post do timaro no omniref
req.path_parameters => {:controller=>"pages", :action=>"home"}
![Page 116: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/116.jpg)
ActionDispatch::Routing::RouteSet::Dispatcher
achando o controller via rotas
mais informações no post do timaro no omniref
ActiveSupport::Dependencies.constantize("#{params[:controller].camelize}Controller") => PagesController
![Page 117: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/117.jpg)
ActionController::Metalprepara o request e manda processar
mais informações no post do timaro no omniref
def dispatch(name, request) #:nodoc:
[...]
process(name)
![Page 118: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/118.jpg)
AbstractController::Baseencaminha para o seu controller
mais informações no post do timaro no omniref
def process(action, *args)
[...]
process_action(action_name, *args) # que no fim é só um `send`
![Page 119: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/119.jpg)
Internet
assets
TCP
MV
VM
C
![Page 120: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/120.jpg)
Internet
assets
TCP
MV
VM
C
![Page 121: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/121.jpg)
Internet
assets
TCP
MV
VM
C
![Page 122: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/122.jpg)
pega aí Rack -> [status, header, body]
mais informações no post do timaro no omniref
ActionDispatch::Journey::Router
![Page 123: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/123.jpg)
Internet
assets
TCP
MV
VM
C
![Page 124: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/124.jpg)
Internet
assets
TCP
MV
VM
C
![Page 125: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/125.jpg)
Internet
assets
TCP
MV
VM
C
![Page 126: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/126.jpg)
Internet
assets
TCP
MV
VM
C
![Page 127: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/127.jpg)
glibcDNS
TCP/IP
UDP/IP
HTTP
POSIX
Internet
![Page 128: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/128.jpg)
glibcDNS
TCP/IP
UDP/IP
HTTP
POSIX
Internet
![Page 129: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/129.jpg)
glibcDNS
TCP/IP
UDP/IP
HTTP
POSIX
Internet
![Page 130: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/130.jpg)
glibcDNS
TCP/IP
UDP/IP
HTTP
POSIX
Internet
![Page 131: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/131.jpg)
glibcDNS
TCP/IP
UDP/IP
HTTP
POSIX
Internet
c-c-c-combo breaker
![Page 132: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/132.jpg)
![Page 133: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/133.jpg)
HTML
![Page 134: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/134.jpg)
exemplos retirados do post “How browsers work”
algoritmo de parsingimplementado no webkit do chrome
HEAD
![Page 135: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/135.jpg)
exemplos retirados do post “How browsers work”
algoritmo de parsingimplementado no webkit do chrome
![Page 136: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/136.jpg)
HTML syntax error
![Page 137: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/137.jpg)
<img src=”http://pothix.com/avatar.gif”> thread
<img src=”http://pothix.com/esperanto.png”> thread
<img src=”http://pothix.com/fotodasferias.scr”> thread
<script src=”http://pothix.com/marotagem.js”> sincrono
<script src=”http://pothix.com/estiloso.css”> thread
<script src=”http://pothix.com/javaescrito.js”> sincrono
<img src=”http://pothix.com/fotodasferias.jpg”>
![Page 138: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/138.jpg)
<img src=”http://pothix.com/avatar.gif”> thread
<img src=”http://pothix.com/esperanto.png”> thread
<img src=”http://pothix.com/fotodasferias.scr”> thread
<script src=”http://pothix.com/marotagem.js”> sincrono
<script src=”http://pothix.com/estiloso.css”> thread
<script src=”http://pothix.com/javaescrito.js”> sincrono
<img src=”http://pothix.com/fotodasferias.jpg”>
![Page 139: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/139.jpg)
exemplos retirados do post “How browsers work”
![Page 140: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/140.jpg)
exemplos retirados do post “How browsers work”
![Page 141: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/141.jpg)
Diego Eis: DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
![Page 142: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/142.jpg)
![Page 143: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/143.jpg)
Resumindoessa bagaça
![Page 144: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/144.jpg)
glibc
MV
VM
C
Internet
Internet
![Page 145: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/145.jpg)
Não acredite em mágicaentenda como funciona de verdade
ceeeeerto.
![Page 146: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/146.jpg)
Seja curiosoconhecimento nunca é demais
![Page 148: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/148.jpg)
![Page 149: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/149.jpg)
![Page 150: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/150.jpg)
![Page 151: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/151.jpg)
![Page 152: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/152.jpg)
SRLY?
![Page 153: Desconstruindo a web](https://reader034.fdocuments.net/reader034/viewer/2022050614/5a6ed1e97f8b9a70728b66ad/html5/thumbnails/153.jpg)
The browser