AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1458576
Accepted
Alexei
Alexei
Asked: 2019-07-12 00:31:52 +0800 CST2019-07-12 00:31:52 +0800 CST 2019-07-12 00:31:52 +0800 CST

Por que os agentes/navegadores têm permissão para alterar o URL sem realmente navegar para esse caminho?

  • 772

Esta questão trata da alteração do URL no navegador sem realmente navegar para esse URL. Também encontrei vários sites onde isso é usado e acho confuso / enganoso para o usuário e estou me perguntando por que isso é permitido em primeiro lugar.

Pergunta: Por que os agentes/navegadores têm permissão para alterar a URL sem realmente navegar para esse caminho? Qual é o ganho em permitir isso enquanto a desvantagem é confundir o usuário.

javascript url
  • 1 1 respostas
  • 52 Views

1 respostas

  • Voted
  1. Best Answer
    user1686
    2019-07-12T01:30:34+08:002019-07-12T01:30:34+08:00

    Há muito tempo, os Webapps são capazes de alterar totalmente o conteúdo da página usando apenas JavaScript. Por exemplo, no Twitter, você pode navegar da linha do tempo principal para um perfil para um tweet específico inteiramente do lado do cliente, sem qualquer recarga de página – apenas atualizações baseadas em JavaScript.

    O problema com isso é que se torna impossível copiar, marcar ou compartilhar o URL em que você aparentemente está. Se você começar em https://twitter.come abrir, por exemplo, um tweet ou uma página de perfil, sua barra de endereços ainda pensará que você está em https://twitter.com. Você também não pode clicar no botão "Voltar" - você sairia de todo o aplicativo.

    Muitos sites tentaram contornar isso alterando apenas a #hashparte da URL (que é usada para links de páginas internas), geralmente de uma forma que a torna semelhante a um caminho real – por exemplo, clicar em @stackoverflow altera para https://twitter.com/#!/stackoverflow.

    Agora a URL pode ser copiada e marcada como favorita, mas ainda tem problemas – ela só é compreendida pelo JS do lado do cliente, e não por mecanismos de busca ou navegadores com JS desabilitado/bloqueado ou mesmo ferramentas HTTP como wget/curl. Para todas essas ferramentas e programas, a parte após # não tem sentido (já que aponta para dados gerados dinamicamente por JS e não para um nome real= ou id=).

    É por isso que a API foi adicionada para gerar eventos de histórico "reais" por meio de JS - ela permite que cada página baseada em JS tenha uma URL que corresponda exatamente a uma página baseada em servidor real. Quando você clica em um link de perfil, o JS gera a mesma página que você teria sem o JS (só que mais rápido) e, portanto, também tem a mesma URL.

    Se você usar esta API, é claro que você deve gerar apenas caminhos que realmente existem no servidor e correspondem a URLs reais - como no exemplo acima, quando o JavaScript altera o URL para https://twitter.com/stackoverflow, tudo bem porque esta é uma página real que pode ser visitado posteriormente, com o mesmo conteúdo e tudo. Acontece que a página foi carregada via JS e não via navegação, mas essa diferença deveria ser praticamente invisível.

    Portanto, "a desvantagem é confundir o usuário" só é verdade quando a API é mal utilizada , por exemplo, gerando URLs que o servidor não reconhece posteriormente.

    • 2

relate perguntas

  • uglifyjs - trava quando executado com qualquer opção

  • Verificação de tipo VSCode JSDoc

  • Formato de avaliação de data Javascript

  • Como baixar arquivos do grupo do Facebook? [fechado]

  • Vá para as funções de seta do ES6 no editor de texto Sublime

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve