pt.phhsnews.com


pt.phhsnews.com / Como os Servidores da Web Escutam Novas Solicitações?

Como os Servidores da Web Escutam Novas Solicitações?


Ao aprender sobre servidores da Web e como eles funcionam, você pode estar curioso para saber se eles estão constantemente ouvindo solicitações ou se esperam até receber uma solicitação. pedido para entrar em ação. Com isso em mente, a postagem de perguntas e respostas do SuperUser de hoje tem as respostas para satisfazer a curiosidade de um leitor.

A sessão de Perguntas e Respostas vem para nós, cortesia da SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas.

Screenshot courtesy of xmodulo / Linux Screenshots (Flickr).

A pergunta

SuperUser reader user2202911 quer saber como os servidores da web escutam novas solicitações:

Estou tentando entender os detalhes do "nível mais profundo" de como funcionam os servidores da web. Eu quero saber se um servidor, digamos o Apache, por exemplo, está continuamente pesquisando novos pedidos ou se funciona por algum tipo de sistema de interrupção. Se é uma interrupção, o que está provocando a interrupção? É o driver da placa de rede?

Como um servidor web ouve novas solicitações?

O colaborador do SuperUser na Resposta

Greg Bowser tem a resposta para nós:

A resposta curta é algum tipo de sistema de interrupção . Essencialmente, eles usam bloqueio de E / S, o que significa que eles dormem (bloqueiam) enquanto esperam por novos dados.

  1. O servidor cria um soquete de escuta e bloqueia enquanto aguarda por novas conexões. Durante esse tempo, o kernel coloca o processo em um estado sleep> interrompível e executa outros processos. Esse é um ponto importante; ter a pesquisa do processo continuamente desperdiçaria recursos da CPU. O kernel é capaz de usar os recursos do sistema de forma mais eficiente, bloqueando o processo até que haja trabalho a ser feito.
  2. Quando novos dados chegam à rede, a placa de rede emite uma interrupção.
  3. Vendo que existe uma interromper a partir da placa de rede, o kernel, através do driver da placa de rede, lê os novos dados da placa de rede e armazena na memória. (Isso deve ser feito rapidamente e geralmente é tratado dentro do manipulador de interrupção.)
  4. O kernel processa os dados recém-chegados e os associa a um soquete. Um processo que está bloqueando nesse soquete será marcado como executável, o que significa que agora ele está qualificado para ser executado. Ele não necessariamente roda imediatamente (o kernel pode decidir executar outros processos ainda).
  5. A seu gosto, o kernel irá ativar o processo do servidor web bloqueado. (Desde que agora é executável.)
  6. O processo do servidor web continua executando como se nenhum tempo tivesse passado. Sua chamada de sistema de bloqueio retorna e processa todos os novos dados. Então vá para o passo 1.

Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.


Números mágicos: os códigos secretos que os programadores escondem em seu PC

Números mágicos: os códigos secretos que os programadores escondem em seu PC

Desde que a primeira pessoa escreveu 5318008 em uma calculadora, os nerds escondem números secretos dentro de seu PC e os usam para negociar handshakes secretos entre aplicativos e arquivos. Hoje, vamos dar uma olhada rápida em alguns dos exemplos mais divertidos. O que são números mágicos? A maioria das linguagens de programação usa um tipo inteiro de 32 bits para representar certos tipos de dados - internamente o número é armazenado na RAM ou usado pela CPU como 32 uns e zeros, mas no código-fonte seria escrito em formato decimal regular, ou em formato hexadecimal, que usa os números de 0 a 9 e as letras de A a F.

(how-to)

Como o malware de execução automática se tornou um problema no Windows e como ele foi (principalmente) corrigido

Como o malware de execução automática se tornou um problema no Windows e como ele foi (principalmente) corrigido

Graças a decisões de design ruins, o AutoRun já foi um grande problema de segurança no Windows. O AutoRun habilitou o lançamento de softwares mal-intencionados assim que você inseriu discos e unidades USB em seu computador. Essa falha não foi explorada apenas por autores de malware. Ele foi usado pela Sony BMG para esconder um rootkit em CDs de música.

(how-to)