CIÊNCIA DA COMPUTAÇÃO I

Mais uma aula de Ciência da Computação I, tema aprendido e debatido foi HTTP e HTTPS. 

 

Tema esse bem interessante pois podemos ver cada um desses termos claramente como a necessidade da evolução, então nada mais do que as duas primeiras gerações do mundo web.

 

Seguindo minha linha de raciocínio digo as primeiras gerações do mundo web pois o HTTP é a base da internet, no caso do www, famoso World Wide Web, pois analisando a sua tradução e definição.

 

Tradução:

 

HTTP ( Hyper Transfer Protocol ), traduzindo ficaria Protocolo de Transferência de Hipertexto.

http

Definição:

 

Protocolo de comunicação utilizado para sistemas de informação de hipermídia, distribuídos e colaborativos.

 

Ele é aplicado na camada de aplicação segundo o Modelo OSI, de acordo com um artigo no canaltech, o modelo OSI é um tipo de arquitetura que divide as redes de computadores em 7 camadas.

 

Camadas essas com funções distintas criando um padrão para a comunicação entre máquinas ponto-a-ponto (end-to-end) independente do tamanho e distância das redes.

 

As camadas são:

 

7 Aplicação

APIs de alto nível , incluindo compartilhamento de recursos, acesso remoto a arquivos

 

6 Apresentação

Tradução de dados entre um serviço de rede e um aplicativo; incluindo codificação de caracteres , compressão de dados e criptografia / descriptografia

 

5 Sessão

Gerenciando sessões de comunicação , ou seja, troca contínua de informações na forma de várias transmissões ida e volta entre dois nós

 

4 Transporte

Transmissão confiável de segmentos de dados entre pontos em uma rede, incluindo segmentação , reconhecimento e multiplexação

 

3 Rede

Estruturar e gerenciar uma rede de vários nós, incluindo endereçamento , roteamento e controle de tráfego

 

2 Enlace / Link de Dados

Transmissão confiável de quadros de dados entre dois nós conectados por uma camada física

 

1 Física

Transmissão e recepção de fluxos de bits brutos em um meio físico

 

 

COMPARATIVO HTTPS (Modelo OSI)  VS HTTP (TCP/IP)

 

modelo osi tcp

FONTE: https://sites.google.com/site/modeloosietcpip/

 

 

O que podemos entender sobre isso é que o HTTP, tem a função de protocolar o transporte de informações como hipertexto de uma máquina para outra.

 

Como o www, basicamente é estruturado baseado na interligação (hiperlink) de hipertexto para outro hipertexto, pode se notar a importância do HTTP.

 

HTTP diferente do mundo atual que estamos constantemente interligados, onde vivemos praticamente em um mundo streaming, onde toda a atualização é notada instantaneamente, como conhecido pelo termo “keep-alive”.

 

O HTTP, simplesmente faz o transporte e finaliza a conexão, como cliente-servidor, fazendo assim ser uma conexão independente, ele não necessita de uma resposta de recebimento de seu transporte.

 

Simplesmente ele envia sua informação, e finaliza a conexão.

 

Entendendo que HTTP, é uma forma de conexão cliente-servidor sua comunicação do cliente e servidor é registrado todos os passos da interação, através das requests, traduzindo ficaria requisição.

 

Essas requisições constam vários dados, de tudo o que o cliente necessita do servidor e todos os procedimentos que precisou fazer e passou até o final do processo.

 

O servidor recebendo essa requisição ele responde através de uma response, traduzindo seria a resposta, respostas essas que são basicamente de três tipos, uma resposta positiva, enviando o que foi solicitado de volta, resposta negativa onde avisa que não foi encontrado o que foi solicitado, ou a resposta que não foi possível acessar o destino da requisição, no caso o servidor.

 

Um exemplo que foi mostrado em aula, muito auto-explicativo de uma requisição e uma resposta.

 

EXEMPLO MOSTRADO EM AULA DE UMA REQUISIÇÃO:

 

Abaixo segue um exemplo de uma comunicação entre um cliente e um servidor HTTP. O servidor possui a URL www.exemplo.com, porta 80. O pedido do cliente (seguido por uma linha em branco, de maneira que o pedido termina com um newline duplo, cada um composto por um carriage return seguido de um line feed): O cabeçalho Host reconhece vários diferentes nomes DNS que tenham o mesmo IP.

 

GET /index.html HTTP/1.1

Host: www.exemplo.com

 

EXEMPLO MOSTRADO EM AULA DE UMA RESPOSTA:

 

A resposta do servidor (seguida por uma linha em branco e o texto da página solicitada):

HTTP/1.1 200 OK

Date: Mon, 23 May 2005 22:38:34 GMT

Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)

Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT

Etag: “3f80f-1b6-3e1cb03b”

Accept-Ranges: bytes

Content-Length: 438

Connection: close

Content-Type: text/html; charset=UTF-8

 

Os exemplos mostram claramente como comentamos acima, sobre os protocolos serem registrados todos os passos que a informação faz, desde o  pedido para “pegar”, GET a página de hipertexto, através do hiperlink.

 

Tendo como resposta que achou o que buscava, horário, data, local, última modificação do arquivo, quando foi colocado entre outras informações.

 

Nas respostas, o servidor tem uma tabela padronizando assim suas respostas, assim o cliente pode saber o que houve, podendo assim traçar suas possibilidades de ações que devem ser tomadas em caso de resposta negativa.

 

Essa tabela variam dos códigos numéricos de entre 100 e 500, divididos em categorias:

 

1xx – Informativos

2xx – Indicativos de sucesso

3xx – Redirecionamentos

4xx – Erros do cliente na hora de fazer a solicitação

5xx – Erros no lado do servidor

 

Alguns exemplos mostrados em aula, dos clássicos erros, que costumamos receber, mas agora entendendo um pouco sobre HTTP, fica mais claro relendo-os, como:

 

200 – Tudo ocorreu corretamente

301 – Indica redirecionamento permanente

401 – Não autorizado

404 – O recurso solicitado não foi encontrado no servidor

500 – Erro Interno do Servidor

502 – Bad Gateway

503 – Serviço Indisponível

 

http

 

Outra informação interessante aprendida foram os verbos, podendo assim dizer as ações que o cliente e servidor podem desempenhar, não ficando preso apenas no pegar, “GET” como no exemplo.

 

Fazendo assim a interação entre cliente e servidor ser extremamente ampla, criando diversas formas de interação, as interações, verbos, ações o que preferir mais utilizados são:

 

GET – Obter os dados de um recurso.

POST – Criar um novo recurso.

PUT – Substituir os dados de um determinado recurso.

PATCH – Atualizar parcialmente um determinado recurso.

DELETE – Excluir um determinado recurso.

HEAD – Similar ao GET, mas utilizado apenas para se obter os

cabeçalhos de resposta, sem os dados em si.

OPTIONS – Obter quais manipulações podem ser realizadas em um

determinado recurso.

 

Entendendo sobre HTTP, a primeira geração da web, estamos vivenciando a evolução da segunda geração, o HTTPS, seguindo nosso padrão, vamos iniciar com a tradução e definição de HTTPS.

 

Tradução:

 

HTTPS (Hypertext Transfer Protocol Secure), traduzindo fica Protocolo de Transferência de Hipertexto Seguro.

 

Definição:

 

É uma implementação do protocolo HTTP sobre uma camada adicional de segurança que utiliza o protocolo SSL/TLS. 

 

Diferente do HTTP onde a porta TCP/IP é a 80, no HTTPS a porta é a 443.

 

Entender um pouco sobre o protocolo SSL/TLS, podendo usar a definição que o blog valid certificadora  comenta.

 

“Sendo a sigla de Secure Socket Layer, o SSL nada mais é do que um protocolo digital que serve para garantir a segurança dos dados que são transmitidos digitalmente.”

 

Esse novo protocolo, tem a função de garantir a segurança da comunicação entre cliente e servidor através de criptografia, portanto no processo de transferência das informações, os hipertextos vão criptografados, impedindo qualquer acesso a elas no caminho.

 

Hackers é o principal motivo para se utilizar as criptografias, onde vem o assunto mais importante do momento em que vivemos, a segurança das informações.

 

Por isso me referi a evolução da próxima geração do HTTP, pois a internet surgiu com o HTTP e com sua evolução, o seu tamanho se expandiu de tal forma que o mundo virtual conseguiu se mesclar com o mundo real.

 

O número incalculável de informações trafegadas pela internet de níveis de importâncias infinitas, desde uma troca de mensagem com o amigo da faculdade, como uma senha de uma transação entre multinacionais, segredos militares de nações e tantas outras formas de interação.

 

Hackers e seus derivados buscam formas de conseguir acessar essas informações desse constante tráfego da internet, e o protocolo HTTPS veio para ficar e se tornar obrigatório para o mundo de hoje.

 

hacker informações

 

Entrando um pouco na prática, com exemplos claros pois é o mundo em que estamos vivendo hoje. 

 

A vida virtual se tornou indispensável, e com a grande massa popularizando a web, as leis do mundo real precisam se adaptar e também permear o mundo digital, a lei iniciada na europa LGPD.

 

De acordo com o site serpro.gov.br mostra a definição da lei e o que muda através de uma ilustração auto-explicativa bem interessante.

 

Definição:

 

Lei  Geral de Proteção de Dados

 

lgpd informações

 

A importância é tamanha que os websites hoje, são obrigados a informar a todos os usuários terão seus dados gravados e como vão utilizar os seus dados.

 

Através dos cookies, onde se puderem reparar a grande maioria, dos sites que estão se atualizando disparam uma mensagem, onde se informa ao usuário sobre suas políticas de privacidade e de manipulação dos dados recolhidos.

 

Hoje um site sem estar em HTTPS, é totalmente inviável, pois a grande maioria, recebem cadastros de usuários, informações de documentos, senhas, dados bancários e diversos outros.

 

Caso não tenha o protocolo seguro para a transferência de dados é extremamente arriscado efetuar uma compra e seus dados do cartão de crédito não ir para terceiros.

 

A responsividade dos sites modernos trouxe a o grande comércio para o virtual, onde lojas virtuais, cursos virtuais e qualquer tipo de produto e serviço imaginável e até os inimagináveis podem ser consumidos pela web.

 

Portanto o nível de dados sigilosos é de volume estratosférico, sendo totalmente inviável um acesso a um site sem o HTTPS.

 

Por esse motivo, até mesmo as empresas de hospedagem de sites, normalmente já está incluso em seus pacotes o protocolo SSL, com o HTTPS.

 

Um exemplo claro é esse próprio site que está lendo esse artigo, está em formato HTTPS, mesmo não coletando dados explicitamente, mas para estar protegido de invasores que podem querer utilizar o site como ponte para acessar usuários desprevenidos.

 

Indo mais além para demonstração do tráfego de dados hoje com o avanço do wifii, e a IoT, onde sua casa está toda configurada, seu carro, relógios, e infinitas outras coisas, com dados desde seu batimento cardíaco, até qual seu prato favorito.

 

Outro grande exemplo para a demonstração da manipulação de dados, são as grandes empresas como google, microsoft, amazon, utilizam seus dados para executar as campanhas de marketing para você mesmo.

 

ciberseguranca

 

Pois com uma simples busca de um determinado produto ou serviço em um site qualquer, coincidentemente todos os banners de propagandas de todos os sites que você abrir, e às vezes até mesmo sites que surgem por spam, pop up será sobre o assunto que buscou.

 

Porém HTTPS não é 100% seguro, pois não existe algo 100% seguro, é necessário utilizar alguns mecanismos para ajudar na segurança, como firewalls, senhas fortes, antivírus, atenção extrema referente a engenharia social que é a maior fraqueza do meio de segurança.

 

Uma definição para engenharia social tirado no blog do site terra “é termo utilizado para descrever um método de ataque, onde alguém faz uso da persuasão, muitas vezes abusando da ingenuidade ou confiança do usuário, para obter informações que podem ser utilizadas para ter acesso não autorizado a computadores ou informações.”

 

Engenharia social é a maior fraqueza da segurança pois é algo que não se pode controlar pois depende de cada um age em determinadas situações.

 

É um e-mail que se interage mesmo tendo informações que não foram solicitadas ou conhecidas, mecanismos utilizados sem conhecimento ou atenção do que está manipulando, como um site falso.

 

Mas esse é um assunto para um outro artigo.

 

Voltando para o HTTPS, podemos finalizar com uma linha de pensamento legal que tenho, sobre informação e websites e com esse artigo pude adicionar mais uma parte.

 

Se a informação é o novo petróleo, os sites são os barris e o HTTPS são os navios petroleiros.

 

Já imaginou o estrago que pode fazer para o mundo um vazamento de um navio petroleiro?

 

É proporcional a um vazamento de um banco de dados de uma empresa multinacional.

 

E ficamos por aqui, aguardando mais aprendizado com o curso.

 

informações