>> COLUNA 1: Tudo bem, então o que é que você precisa fazer concretamente?
Bem, acontece que há apenas quatro funções
que você precisa para implementar cuja funcionalidade é
inerente ao bom operação do servidor web,
mas cuja totalidade das comportamento é muito estreita
definida, para que possam apenas fazer muito bem uma coisa.
Primeira coisa que você vai a necessidade de fazer é implementar,
acordo com a especificação, a função PROC.
Esta é uma função bastante simples em Ao final, que toma como um argumento
qualquer que seja o caminho para o arquivo que o usuário deseja solicitar,
e você precisa responder com a chamado tipo MIME, ou do tipo de conteúdo,
desse arquivo.
Por exemplo, se é um arquivo como, Olá dot
HTML que você vai responder com um MIME tipo de entre aspas HTML barra de texto.
>> Ou se é uma imagem, você pode querer a responder com imagem dot barra
JIFF ou imagem JPEG cortar.
Consulte a especificação para os vários formatos de arquivo que você precisa para detectar.
Mas ele realmente se resume a tomar uma olhar para o caminho, que você é passado,
e olhando para o seu arquivo extensão, os últimos personagens
após o ponto final ou ponto.
Então, vamos deixá-lo para você com alguma das sugestões na especificação
para descobrir exatamente como encontrar que ponto ea extensão do arquivo
de modo que você pode fazer o mapeamento de um para o outro.
>> Em seguida é a função de análise.
Então, este é um pouco mais envolvidos, na medida em que
você precisa levar em que argumento [inaudível],
ele é iterado sobre ele, caráter para o personagem, ou corda por corda,
a fim de certificar-se de que cumpre exatamente
a definição formal de que o primeiro linha de solicitação, de acordo com a especificação.
E você precisa para carregar em absoluto caminho que subcadeia, que representa
algo como, corte Olá dot HTML.
Enquanto isso, opcionalmente, depois disso caminho pode ser um ponto de interrogação
e, em seguida, uma seqüência de consulta como, q é igual a gatos,
ou q é igual gatos ampersand, e em seguida, um outro par de valor de chave.
Então você está indo a necessidade de passar por cima desses personagens,
assim, até o primeiro espaço, em ordem
para criar uma seqüência de caracteres que armazena dentro dela a própria string de consulta.
Em seguida, você vai implementar a função de carga.
Então não é que, se você olhar através o código-fonte, como a especificação dirige,
a função de carga é usado em dois lugares.
Ou é usado para carregar o saída do intérprete PHP.
E nós escrevemos todos o código de manipulação de PHP,
mas ele precisa utilizar uma função chamada
carga, que lê essencialmente todo o bytes de saída do interpretador do PHP
em uma grande variedade.
>> Essa mesma carga função também é utilizado para carregar
na memória de todos os bytes de um ficheiro como, um JIFF, ou um JPEG, HTML ou dot
arquivo, que o usuário tenha solicitado.
Então você vai precisar usar alguns truques e ferramentas de conjunto de problemas 4 em arquivo IO,
mas você deve achar que relativamente familiar e de uma forma agradável, espero,
de amarrar juntos o mais recente web coisas com o arquivo IO material mais antigo.
>> Finalmente, nos índices função, tudo que você precisa fazer
é decidir se há ou não existe algum arquivo de forma eficaz
HTML chamado índice ponto, ou índice dot PHP, dentro do diretório, cujo caminho você
são passado.
O lado positivo desta significa que se o usuário faz solicitar um diretório,
nós não estamos indo só para mostrar- ela o conteúdo desse diretório,
nós vamos mostrar-lhes literalmente índice dot HTML, ou índice dot PHP, por padrão.
Mas vai ser deixado para você descobrir, usando algumas das sugestões
no código-fonte, que já te dei,
como você pode realmente verificar se um determinado arquivo existe
no diretório atual, de modo que você pode retornar a resposta correta.
>> Então, no final há relativamente poucos bytes
que você precisa tomar para fora do conjunto de problemas para implementar o servidor de
funcionalidade incompleta.
Mas definitivamente certifique-se de envolvê- sua mente em torno de como grande parte do código
como você pode, tendo conforto em que você não
precisam entender toda a menor nível de código de rede, todos
do menor nível de código arquivo IO.
Realmente, o que estamos fazendo com este conjunto de problemas
se sintetizar o problema vários passado conjuntos, introduzindo um pouco de WebLogic,
e conceitos de rede, de modo que, finalmente, você
construir algo que é realmente muito interessante, realmente muito poderoso,
mas ainda usando o mesmos blocos de construção,
que temos vindo a utilizar durante algum tempo.