PplWare Mobile

Servidores WEB e o mito do porto 8080

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. Bruno M. says:

    Porto ou porta??? Que eu saiba chama-se porta… 😛 Já que ports em inglês significa porta e não porto no contexto informático.. 🙂

    Apenas este reparo.. de resto boa noticia.

  2. TiagoKito says:

    Gostei da explicacao… Parabens Pedro, continua 😉

    Cumps

  3. Wilson Silva says:

    O Pedro é um mestre em redes 😀

  4. tony says:

    Sobre o porto 8080, bem… penso que muitas das vezes é referenciado, porque em grande parte das configurações de proxy WEB este é o porto utilizado. Dai a confusão.

  5. Fernando says:

    Acho que é confusão a mais para quem não percebe nada.Mas parabéns espero que seja útil para alguém.

  6. JPedrosa says:

    Pedro Pinto,
    melhor do que os temas que expões, é a forma como o fazes.

    bom trabalha pá.

    Apenas uma dúvida,
    como leigo, embora lide com algumas destas coisas de forma diária, ficou-me uma dúvida.

    Tenho na minha empresa, alguns túneis vpn feitos com clientes, e tipicamente nos pedidos à equipa de rede, o que eu refiro como portos a abrir é o 80.
    Ora, como o porto 80 apenas serve de porto de escuta e a comunicação é feita é feita em outro, como é que o túnel funciona? Ou seja, parece-me que o que fica aberto não será o porto 80, mas sim o protocolo http e que depois tem todas as regras que descreves por trás, é isso? Senão o mapeamento para portas altas não iria servir de nada, dado que estariam fechadas.

    cumps,
    JP

  7. Miguel Jeri says:

    Boa explicação, gostei da onda destes artigos (como o artigo dos portos do MSN).

  8. meotux says:

    O Pedro Pinto tem quer ir para a escola, aprender a escrever. 😉

  9. P.G.R. says:

    @ meotux

    Do inglês Port o mais correcto será mesmo “porto” (apesar de usualmente se designar por “porta” em PT). Isto deve-se ao facto das traduções nem sempre funcionarem, razão pela qual nunca deveríamos traduzir os termos técnicos.
    Por outro lado antes de mandares “uma boca” dessas, devias ler tudo com atenção… E o P.P. não precisa de ir para a escola, dado que passa lá o dia… na Universidade onde dá aulas.

    Um abraço

  10. HardCode says:

    “Mas considerando que o nosso servidor apenas está configurado para receber pedidos no porto 80, como trata ele pedidos em simultâneo, deixando que o porto 80 esteja sempre livre para receber novos pedidos?

    A resposta é relativamente simples… quando um servidor recebe um pedido no porto 80 ele mapeia-o para um porto livre atribuído dinamicamente pelo sistema operativo, deixando assim sempre o porto 80 à escuta.”

    Isto apenas acontece no exemplo porque foi realizado numa máquina local. Na verdade esse mapeamento dinâmico é feito apenas nos clientes.

    A porta 80 é/pode ser comum a todos os pedidos…

    Relativamente à forma como os pedidos são processados, depende sempre das “Threads” do servidor. Se o servidor tiver activa apenas uma thread, o que acontece é que enquanto um pedido está a ser processado, os restantes pedidos que chegam vão para uma Queue.
    Se o servidor tiver várias Threads, então cada um responde a um pedido simultaneamente e cada um tem a sua Queue.

    Não confundam por favor as portas de servidor e cliente.

    • Miguel Costa says:

      Sem dúvida.. estás correcto.. HardCode

      Pedro Pinto.. quais são as tuas fontes? é que estás a criar alguma confusão com os termos que utilizas 😉

      Quanto à questão porto e porta.. cada um chame-lhe o que entender melhor.

      Mas para mim, e reforço !para mim! um porto está relacionado com as baías…

      e uma porta relacionada com firewall’s 😉

      um abraço a todos

      • Pedro Pinto says:

        @HardCode
        Sim, o que acontece realmente é o mecanismo de threading do lado do servidor. Do lado do cliente o SO encarrega-se de atribuir um porto dinâmico. Vou rever essa frase.

      • Bruno M. says:

        @Miguel Costa.. era aí que eu queria chegar.. Porto = Baía! 🙂 , é a primeira coisa que me vem a cabeça! 😛 lol

        cumps

        • Pedro Pinto says:

          Meus caros, volto a referir…é indiferente !!!!
          Há quem chame porto, há quem chame porta…mas que confusão por causa de 2 termos que são a mesma coisa !!!
          Na minha terra há gasalhos…em outras terras chama sarrolhos…

          • Rui Costa says:

            Pedro,

            Qual é a tua terra? É que gasalhos refugados com carne, feitos pela sogra são 5*.

            E míscaros ou sanchas? Está a chegar o tempo delas.

            Saudações portistas

  11. Ricardo Mota says:

    Muito bom artigo!

  12. jose says:

    Aprecio o facto de se procurar escrever os artigos em português correcto, mas também se deve ter a mesma preocupação nos comentários.Acredito que a falta de tempo não ajuda.

  13. Henrique says:

    “A resposta é relativamente simples…quando um servidor recebe um pedido no porto 80 ele mapeia-o para um porto livre atribuído dinamicamente pelo sistema operativo, deixando assim sempre o porto 80 à escuta.”
    Isto não é verdade… Os pedidos são todos recebidos no porto 80 (do lado do servidor), o que é “atribuido” dinamicamente é do lado do cliente! Podes observar isso nos traces que recolheste.
    De resto, bom trabalho!

  14. Bruno Antunes says:

    Boas Pedro, bom post sem dúvida.

    Já no outro dia tinha andado a pensar como é que é feito este tipo de gestão, mas com a falta de tempo ainda não tinha ido ver.

    Ter o pplware como homepage é sempre uma mais valia 😛

  15. softclean says:

    Artigo bastante esclarecedor e bem escrito, ao contrário de outros que dizem que o autor tem de “aprender a escrever”…

    Parabéns pela iniciativa, gostei bastante da forma como o tema foi abordado, sem ser demasiado básico, nem cair nos profundos detalhes técnicos de redes. 😉

  16. leitorassiduo says:

    Muito bom este artigo, já agora, para quem quiser mais uma explicaçãozita da diferença entre threads e processos:

    http://ibiblio.org/java/course/week11/02.html

    e já que estamos a falar de tasks concorrentes, talvez também seja interessante para aqueles que não conhecem o seguinte conceito:

    http://en.wikipedia.org/wiki/Semaphore_%28programming%29

  17. naoliveira says:

    Pedro,

    depois de ler os comentários sobre se é porta ou porto (neste e em outros artigos) e como já se viu o pessoal reclama mas depois diz que até nem se importa como é que se designa, proponho que nos próximos artigos passes a designar de sanita. E porquê sanita?
    1ª porque é para onde deviam de ir estes comentários (incluindo este) depois porque não vai aparecer ninguém a dizer que não é sanita mas sanito (não mesmo?!?!?)

    off topic

    no artigo devia estar mais explícito que a sanita 80 é só para iniciar/negociar a comunicação entre os 2 computadores, depois de negociada, a comunicação é continuada na sanita escolhida, que como referes no artigo será no intervalo 49152 a 65535.

  18. Apaxe says:

    Pedro Pinto & companhia,

    Após uma Porta ser atribuída dinamicamente pelo sistema operativo esta fica em escuta para a resposta ao pedido. Pergunto por quanto tempo estas Portas ficam neste estado? Após receberem o pedido passam ao modo Fechado?
    Podem explicar melhor como isto se processa, caso saibam?

    Obrigados

    • softclean says:

      Tens um timeout, que se não houver comunicação, fecha. Isto para ligações “keep-alive”, pois também há o tipo de comunicação, em que é aberta a ligação, dá-se a troca de dados, e a ligação é fechada.

  19. soho says:

    Aqui no Brasil nos referimos sempre ao termo “porta”
    Porém acho que o correto seria porto

    Abraços

  20. Tmcr says:

    A identificação e isolamento de cada flow, na maioria dos serviços é efetuada pela source port do originador (cliiente) sendo este o fator diferenciador que permite identificar um determinado flow num universo de centenas ou ate milhares de flows concorrentes.

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.