image

Acesse bootcamps ilimitados e +650 cursos

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

Entendendo o protocolo HTTP

    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
    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!