A tradução chinesa de Sessão é chamada de "conversa", e seu significado original refere-se a uma série de ações/mensagens que têm um começo e um fim. Por exemplo, ao fazer uma ligação, a série de processos desde atender o telefone até. discar para desligar o telefone pode ser chamado de Sessão. O entendimento atual de Sessão na sociedade é muito confuso: às vezes podemos ver as palavras “Durante uma sessão do navegador,…”, a sessão aqui se refere ao período desde a abertura até o fechamento de uma janela do navegador você também pode ver Quando; referindo-se à frase "o usuário (cliente) durante uma sessão", pode referir-se a uma série de ações do usuário (geralmente uma série de ações relacionadas a um propósito específico, como desde o login até a compra de mercadorias e o check-out. Tal processo de compra on-line, no entanto, às vezes pode referir-se apenas a uma conexão; a diferença só pode ser inferida a partir do contexto.
No entanto, quando a palavra Sessão está associada a um protocolo de rede, muitas vezes implica "Conexão". e/ou "Manter estado" têm dois significados. "Orientado à conexão" significa que as partes comunicantes devem primeiro estabelecer um canal de comunicação antes de se comunicarem, como fazer uma chamada telefônica. A comunicação não pode começar até que a outra parte atenda o telefone. ""Status"significa que a parte comunicante pode associar uma série de mensagens para que as mensagens possam depender umas das outras. Por exemplo, um garçom pode reconhecer um cliente antigo que volta e lembrar que o cliente devia um dólar à loja da última vez . Estes exemplos de um tipo são "uma Sessão TCP" ou "uma Sessão POP3".
Dado que esta confusão é irreversível, é difícil ter um padrão unificado para definir Sessão, e ao ler sobre Sessão, temos apenas um. podemos entendê-lo inferindo a partir do contexto: Por exemplo, quando fazemos uma ligação, desde o momento em que fazemos a ligação até o momento em que desligamos, o telefone permanece conectado, então esse estado conectado é denominado Sessão. variável que sempre existe durante a interação entre o visitante e todo o site. Quando o cliente não suporta COOKIE, para garantir a veracidade e segurança dos dados, a variável Session será atribuída ao visitante que visita o site. o chamado ID de sessão É armazenado no cookie do cliente ou passado pela URL.
A invenção da Sessão preenche as limitações do protocolo HTTP: o protocolo HTTP é considerado um protocolo sem estado e não pode saber o status de navegação do usuário quando o faz. está em uso. Depois que o servidor conclui a resposta, o servidor perde contato com o navegador. Isso é consistente com o propósito original do protocolo HTTP. O cliente só precisa solicitar ao servidor o download de determinados arquivos, nem o cliente nem o. servidor É necessário registrar o comportamento passado de cada um, e cada solicitação é independente, assim como o relacionamento entre um cliente e uma máquina de venda automática ou um hipermercado comum (não-adesão).
Portanto, por meio de Sessão (cookie), é outro. maneira. Uma solução) registra as informações relevantes do usuário para confirmação quando o usuário faz uma solicitação ao servidor web novamente. A invenção de sessões permite que um usuário salve suas informações ao alternar entre várias páginas. não pode ser usado na próxima página (embora form e url também possam ser implementados, mas esses são métodos muito insatisfatórios), e as variáveis registradas na Sessão podem ser usadas como variáveis globais.
Então, qual é a utilidade da Sessão? Todo mundo já usou o carrinho de compras ao fazer compras online. Você pode adicionar os produtos que escolher ao carrinho de compras a qualquer momento e, por fim, ir ao caixa para finalizar a compra. Durante todo o processo, o carrinho de compras desempenha a função de armazenar temporariamente os produtos selecionados. É utilizado para rastrear as atividades do usuário no site. Esta é a função da Sessão. Pode ser utilizado para autenticação da identidade do usuário, status do programa. gravação e entre páginas de passagem de parâmetros, etc.
A tecnologia COOKIE é usada na implementação da Sessão. A sessão salvará um COOKIE contendo Session_id (número da sessão) no lado do cliente e salvará outras variáveis de sessão no lado do servidor, como Session_name, etc. Quando o usuário solicita o servidor, o Session_id também é enviado ao servidor. Ao extrair as variáveis salvas no lado do servidor através do Session_id, você pode identificar quem é o usuário. Ao mesmo tempo, não é difícil entender por que a Session às vezes falha.
Quando o cliente desabilita o COOKIE (clique em "Ferramentas" - "Opções da Internet" no IE, clique no item "Segurança" - "Nível personalizado" na caixa de diálogo pop-up e defina "Permitir COOKIE por conversa" como desabilitado), Session_id não será aprovado e a sessão será inválida neste momento. No entanto, o php5 pode verificar automaticamente o status do cookie na plataforma Linux/Unix. Se o cliente estiver desabilitado, o sistema anexará automaticamente o Session_id ao URL e o transmitirá. Os hosts do Windows não possuem esta função.
Funções comuns e uso da sessão
Session_start(): inicia uma sessão ou retorna uma sessão existente.
Nota: Esta função não possui parâmetros e o valor de retorno é verdadeiro. Se você usar sessões baseadas em cookies, o navegador não deve ter nenhuma saída antes de usar Session_start(), caso contrário ocorrerá o seguinte erro:
Aviso: Não é possível enviar o limitador de cache de sessão - cabeçalhos já enviados (saída iniciada em /usr/local/apache/ htdocs/cga/member/1.php:2)...
Você pode iniciar Session.auto_start=1 em php.ini, para que não precise chamar Session_start() todas as vezes antes de usar Session. Mas existem algumas limitações para ativar esta opção. Se Session.auto_start estiver realmente ativado, você não poderá colocar objetos na sessão porque a definição de classe deve ser carregada antes de iniciar a sessão para recriar o objeto na sessão.
Todas as variáveis cadastradas serão serializadas após a conclusão da solicitação. Variáveis registradas, mas não definidas, são marcadas como indefinidas. Estas variáveis também não são definidas pelo módulo de sessão nos acessos subsequentes, a menos que o usuário as defina posteriormente.
Alguns tipos de dados não podem ser serializados e, portanto, não podem ser salvos na sessão. Incluindo variáveis de recursos ou objetos com referências circulares (ou seja, um objeto passa uma referência de si mesmo para outro objeto).