www por debaixo dos panos
Marco Rougeth
Programador Crave Food Services
crave.workable.com
telegram @rougeth
rgth.co
CLIENTE
SERVIDOR
PROTOCOLO
browsers, crawlers, scrapers, scripts...
máquinas físicas, máquinas virtuais, sua própria máquina...
HTTP, HTTPS, FTP, SMTP, SSH...
URL Parser
esquema :// domínio : porta / caminho ? query_string # fragmento
RFC 1738
https://github.com/stars?language=python
https://github.com/django/django#readme
http://localhost:8000
DNS
cache
gethostbyname
/etc/hosts
DNS servers
root-servers.org
$ dig @a.root-servers.net informaticabiomedica.fmrp.usp.br
[...]
;; AUTHORITY SECTION:
br. 172800 IN NS f.dns.br.
br. 172800 IN NS e.dns.br.
br. 172800 IN NS b.dns.br.
br. 172800 IN NS c.dns.br.
br. 172800 IN NS d.dns.br.
br. 172800 IN NS a.dns.br.
[...]
$ dig @a.dns.br informaticabiomedica.fmrp.usp.br
[...]
;; AUTHORITY SECTION:
usp.br. 86400 IN NS bee.uspnet.usp.br.
usp.br. 86400 IN NS reno.uspnet.usp.br.
usp.br. 86400 IN NS bee08.uspnet.usp.br.
usp.br. 86400 IN NS ns1.ansp.br.
usp.br. 86400 IN NS reno08.uspnet.usp.br.
[...]
$ dig @reno.uspnet.usp.br informaticabiomedica.fmrp.usp.br
[...]
;; AUTHORITY SECTION:
fmrp.usp.br. 21600 IN NS bee.uspnet.usp.br.
fmrp.usp.br. 21600 IN NS perola.cirp.usp.br.
fmrp.usp.br. 21600 IN NS dns1.fmrp.usp.br.
[...]
$ dig @dns1.fmrp.usp.br informaticabiomedica.fmrp.usp.br
[...]
;; ANSWER SECTION:
informaticabiomedica.fmrp.usp.br. 100 IN A 200.144.254.19
[...]
HTTP
Hypertext Transfer Protocol
GET /sobre HTTP/1.1 HOST: github.com
GET
POST
PUT
Métodos
PATCH
DELETE
OPTIONS
Create POST /livros
Read GET /livros/1
Update PUT /livros/1
Delete DELETE /livros/1
CRUD
Headers
User-Agent: Mozilla/5.0 Accept: text/html Accept-Language: pt-BR
Body
nome=Marco&grupo=pyladies
POST / PUT
HTTP/1.1 200 OK Content-Type: text/html charset: utf-8 <html>
1** Informação 2** Sucesso 3** Redirecionamento 4** Erro de cliente 5** Erro de servidor
web
By Marco Rougeth
web
- 977