image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Ariel Juarez
Ariel Juarez21/08/2023 20:26
Compartilhe

Entendendo o protocolo HTTP

  • #JavaScript

Entendendo o protocolo HTTP

Olá, esse é um apanhado de algumas das minhas anotações, sinta-se a vontade para complementa-las e até mesmo corrigir possíveis erros, beleza?

HTTP é abreviatura de “Hypertext Transfer Protocol”, que consiste em um protocolo que, de forma simplificada, permite que dados sejam transmitidos em uma rede IP.

Sua aplicação mais importante certamente é a transmissão de páginas e dados presentes na internet, isso ocorre entre um servidor web e um navegador. No entanto seu uso não se restringe apenas a essa funcionalidade, fazendo com que seja comum sua utilização em também aplicativos.

O que é uma API?

Simplificando, APIs são pontes que permitem que dois pontos de software se comuniquem usando um conjunto de definições e protocolos. 

Requisição

Forma de acessar e consumir dados/informações presentes em uma API.

URL: https://pokeapi.co/api/v2/pokemon

Referente a ip e porta na web onde está a informação e endereço do recurso que precisamos.

EX.:

Ip e porta - https://pokeapi.co

Obs.: É importante ressaltar que o IP (ex.:127.0.0.1:80) é convertido em uma URL como conhecemos por um servidor DNS (Domain Name Server).

Path ou endereço do conteúdo/recurso - /api/v2/pokemon

Métodos de requisição (Request Method)

São as formas como podemos consumir uma API, eles dizem a respeito do que pretendemos com as nossas requisições.

GET - "Buscar" informações por meio dessa URL;

POST - "Inserir" algo por meio dessa requisição;

PUT - "Atualizar" informações por meio dessa requisição;

DELETE - "Deletar" algo por meio dessa URL.

Obs.: esses são os métodos mais comuns no modelo de API Rest, o mais utilizado hoje em dia.

Path Params e Query String

São as formas como passamos o parâmetro para as nossas requisições.

Path: Como sabemos, parte da URL consiste no local onde está armazenado o recursos que estamos buscando, e uma forma de acessa-lo é por meio da própria URL, direcionando esse caminho.

Ex.:

URL: https://pokeapi.co/api/v2/pokemon - nos mostra todos os pokemons

URL: https://pokeapi.co/api/v2/pokemon/1 - nos mostra informações sobre o pokemon de ID 1 da pokedex o Bulbasaur (meu favorito :D).

No código poderia ser algo como - https://pokeapi.co/api/v2/pokemon/${id}

Query String: "descrição de busca", necessita de algum parâmetro, como por exemplo "pokemons tipo grass" ou "que começam com a letra 'I'".

Ex. de sintaxe: https://pokeapi.co/api/v2/pokemon?type=grass

Obs.: O parametro ao qual estamos buscando vem sempre após o porto de interrogação (?).

Essa forma de realizar as requisições facilita a criação de buscas, pois consegue tratar os parâmetros de forma mais abrangente os tratando de forma genérica ou direcionada.

Headers

Request e response, normalmente servem como meta dados que descrevem ou complementam nossas requisições, são como uma "configuração da nossa requisição".

request - onde nos enviamos informações, por exemplo, como o tipo de dados que aceitamos como retorno, por exemplo o idioma das dados, entre outras coisa, essas informações são definidas por nós no momento da criação da requisição.

response - compreende a resposta do servido à nossa requisição, como informações como content-type (tipo do conteúdo) ou a data da resposta, entre outras informações.

body e Status Code.

Body: Alguns tipo de métodos de requisição utilizam a propriedade "Body", que em resumo compreende ao dado que será trafegado na requisição.

Um exemplo da aplicação do body seria na utilização do método POST, onde buscamos inserir um corpo de informações, por meio da nossa requisição.

const request = new Request("/myEndpoint", {
 method: "POST",
 content-type: application/json
 body:{
 "abilities": [
{
 "ability": {
  "name": "overgrow",
  "url": "https://pokeapi.co/api/v2/ability/65/"
 },
 "is_hidden": false,
 "slot": 1
},
{
 "ability": {
  "name": "chlorophyll",
  "url": "https://pokeapi.co/api/v2/ability/34/"
 },
 "is_hidden": true,
 "slot": 3
}
 ],
});

Status Code: significa "o que aconteceu com a requisição", se ela foi ou não processada, entre outras coisas. O Status code nos retorna um número que representa o que houve com a nossa requisição.

Ex.: 

200 - 299 - sucesso

300 - 399 - redirecionamento

Em resumo a estrutura de uma requisição utilizado o protocolo HTTP consiste em:

URL -> request method -> request headers -> resquest body -> status code -> response headers e por vezes response body, dependendo do tipo da requisição.

fontes de pesquisa:

Curso DIO - Entendendo o funcionamento do protocolo http

https://www.hostgator.com.br/blog/o-que-e-protocolo-http/

https://aws.amazon.com/pt/what-is/api/

Compartilhe
Recomendados para você
GFT Start #6 - Lógica de Programação
Potência Tech iFood - Desenvolvimento de Jogos
Potência Tech iFood - Programação do Zero
Comentários (2)
Kennedy Cavalcanti
Kennedy Cavalcanti - 21/08/2023 22:11

Ótimas observações Ariel, parabéns

Jônathas Souza
Jônathas Souza - 21/08/2023 22:10

muito bom!