<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos encodeuri javascript - Web-Zoneware</title>
	<atom:link href="https://webzoneware.com/tag/encodeuri-javascript/feed/" rel="self" type="application/rss+xml" />
	<link>https://webzoneware.com/tag/encodeuri-javascript/</link>
	<description>Mais do que apenas uma academia web.</description>
	<lastBuildDate>Wed, 21 Oct 2026 02:31:24 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://webzoneware.com/wp-content/uploads/icon-webzoneware-150x150.png</url>
	<title>Arquivos encodeuri javascript - Web-Zoneware</title>
	<link>https://webzoneware.com/tag/encodeuri-javascript/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>URLs no HTML: Anatomia e URL Encoding &#124; Web Academy</title>
		<link>https://webzoneware.com/web-academy/curso-html/urls-e-codificacao-na-web/</link>
					<comments>https://webzoneware.com/web-academy/curso-html/urls-e-codificacao-na-web/#respond</comments>
		
		<dc:creator><![CDATA[Web-Zoneware]]></dc:creator>
		<pubDate>Wed, 21 Oct 2026 02:31:24 +0000</pubDate>
				<category><![CDATA[Curso de HTML & HTML5]]></category>
		<category><![CDATA[anatomia de url]]></category>
		<category><![CDATA[encodeuri javascript]]></category>
		<category><![CDATA[percent encoding]]></category>
		<category><![CDATA[url encoding html]]></category>
		<category><![CDATA[urls e codificacao na web]]></category>
		<category><![CDATA[web academy]]></category>
		<guid isPermaLink="false">https://webzoneware.com/?p=29309</guid>

					<description><![CDATA[<p>As URLs (Uniform Resource Locators) constituem o sistema de endereçamento e coordenadas fundamental de toda a World Wide Web. No desenvolvimento HTML, elementos vitais como links de hipertexto (&#60;a&#62;), imagens (&#60;img&#62;), folhas de estilo (&#60;link&#62;), scripts dinâmicos (&#60;script&#62;) e formulários de envio (&#60;form&#62;) dependem de URLs perfeitamente estruturadas. Dominar a anatomia de um endereço web [&#8230;]</p>
<p>O post <a href="https://webzoneware.com/web-academy/curso-html/urls-e-codificacao-na-web/">URLs no HTML: Anatomia e URL Encoding | Web Academy</a> apareceu primeiro em <a href="https://webzoneware.com">Web-Zoneware</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wzw-lesson-lead">As URLs (<em>Uniform Resource Locators</em>) constituem o sistema de endereçamento e coordenadas fundamental de toda a World Wide Web. No desenvolvimento HTML, elementos vitais como links de hipertexto (<code>&lt;a&gt;</code>), imagens (<code>&lt;img&gt;</code>), folhas de estilo (<code>&lt;link&gt;</code>), scripts dinâmicos (<code>&lt;script&gt;</code>) e formulários de envio (<code>&lt;form&gt;</code>) dependem de URLs perfeitamente estruturadas. Dominar a anatomia de um endereço web e o mecanismo de <strong>Codificação de URL (URL Encoding / Percent-Encoding)</strong> é indispensável para evitar quebras de requisições causadas por espaços, acentos ou símbolos especiais.</p>
<h2>1. A Anatomia Completa de uma URL</h2>
<p>De acordo com o padrão RFC 3986 do IETF, uma URL completa pode ser decomposta em até 6 componentes estruturais distintos:</p>
<div class="wzw-code-wrapper">
<div class="wzw-code-header">
        <span>Sintaxe Estrutural Universal de uma URL</span><br />
        <span>url-anatomy.txt</span>
    </div>
    <div class="wzw-ide-card" id="wzw-code-64164" data-lang="code">
        <div class="wzw-ide-header">
            <div class="wzw-ide-dots" aria-hidden="true">
                <span class="wzw-dot wzw-dot-red"></span>
                <span class="wzw-dot wzw-dot-amber"></span>
                <span class="wzw-dot wzw-dot-green"></span>
            </div>
            <div class="wzw-ide-meta">
                <span class="wzw-ide-lang-badge">CODE</span>
                                <span class="wzw-ide-lines-count">5 linhas</span>
            </div>
            <div class="wzw-ide-actions">
                <button type="button" class="wzw-ide-btn wzw-ide-wrap-btn" onclick="wzwToggleCodeWrap('wzw-code-64164', this)" title="Alternar quebra automática de linhas">
                    ⇄ Wrap
                </button>
                <button type="button" class="wzw-ide-btn wzw-ide-copy-btn" onclick="wzwCopyCodeBlock('wzw-code-64164', this)" aria-label="Copiar código para a área de transferência">
                    📋 <span class="wzw-copy-text">Copiar Código</span>
                </button>
            </div>
        </div>
        <div class="wzw-ide-body">
            <pre class="wzw-ide-pre" tabindex="0"><code class="wzw-ide-code"><span class="wzw-code-line">https://webzoneware.com:<span class="wzw-tk-num">443</span>/web-academy/html/?busca=cores&amp;ordem=desc#modulo-<span class="wzw-tk-num">2</span></span>
<span class="wzw-code-line">└─┬─┘  └──────┬──────┘ └─┬─┘ └──────┬───────┘ └──────────┬─────────┘ └───┬────┘</span>
<span class="wzw-code-line">  │           │          │          │                    │               │</span>
<span class="wzw-code-line">Esquema     Domínio    Porta     Caminho           Query String       Âncora</span>
<span class="wzw-code-line">(Scheme)    (Host)     (Port)     (Path)            (Parâmetros)      (Hash)</span>
</code></pre>
            <textarea class="wzw-ide-raw" aria-hidden="true" tabindex="-1" readonly>https://webzoneware.com:443/web-academy/html/?busca=cores&amp;ordem=desc#modulo-2
└─┬─┘  └──────┬──────┘ └─┬─┘ └──────┬───────┘ └──────────┬─────────┘ └───┬────┘
  │           │          │          │                    │               │
Esquema     Domínio    Porta     Caminho           Query String       Âncora
(Scheme)    (Host)     (Port)     (Path)            (Parâmetros)      (Hash)</textarea>
        </div>
    </div>
    
</div>
<div class="wzw-table-responsive">
<table class="wzw-table">
<thead>
<tr>
<th style="width: 160px;">Componente</th>
<th style="width: 220px;">Exemplo</th>
<th>Finalidade Técnica</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Esquema (Scheme)</strong></td>
<td><code>https://</code>, <code>http://</code>, <code>mailto:</code></td>
<td>Indica o protocolo de rede utilizado para recuperar o recurso. Na web moderna, <code>https://</code> (criptografado com TLS) é obrigatório.</td>
</tr>
<tr>
<td><strong>Host / Domínio</strong></td>
<td><code>webzoneware.com</code></td>
<td>O endereço IP ou o nome de domínio registrado que aponta para o servidor onde o site está hospedado.</td>
</tr>
<tr>
<td><strong>Porta (Port)</strong></td>
<td><code>:443</code> (HTTPS), <code>:80</code> (HTTP)</td>
<td>A porta de comunicação TCP. Portas padrão são omitidas pelo navegador, sendo explicitadas apenas em ambientes locais (ex: <code>:3000</code> ou <code>:8080</code>).</td>
</tr>
<tr>
<td><strong>Caminho (Path)</strong></td>
<td><code>/web-academy/html/</code></td>
<td>A rota hierárquica que identifica a pasta física ou o endpoint virtual da página no servidor.</td>
</tr>
<tr>
<td><strong>Query String</strong></td>
<td><code>?busca=cores&amp;ordem=desc</code></td>
<td>Conjunto de parâmetros passados via requisição GET no formato chave=valor, iniciado por uma interrogação (<code>?</code>) e separados por e-comercial (<code>&amp;</code>).</td>
</tr>
<tr>
<td><strong>Fragmento / Âncora</strong></td>
<td><code>#modulo-2</code></td>
<td>Identificador de rolagem interna iniciado por cerquilha (<code>#</code>). <em>Nunca é enviado ao servidor web</em>; serve apenas para o navegador rolar a tela até o elemento com <code>id="modulo-2"</code>.</td>
</tr>
</tbody>
</table>
</div>
<h2>2. URLs Absolutas vs URLs Relativas: Quando Usar Cada Uma?</h2>
<p>No código HTML, você pode referenciar arquivos e links internos utilizando caminhos absolutos ou relativos:</p>
<ul>
<li><strong>URL Absoluta:</strong> Contém o protocolo e o domínio completo (ex: <code>https://webzoneware.com/web-ferramentas/</code>). É obrigatória ao apontar para sites externos e fortemente recomendada em tags de SEO canônico (<code>rel="canonical"</code>) e metadados Open Graph de redes sociais.</li>
<li><strong>URL Relativa à Raiz (Root-Relative):</strong> Começa sempre com uma barra diagonal inicial (ex: <code>/web-academy/playground-web/</code>). Aponta para a raiz do domínio atual, facilitando a portabilidade entre ambientes de desenvolvimento (localhost), homologação (staging) e produção.</li>
<li><strong>URL Relativa ao Diretório (Directory-Relative):</strong> Não inicia com barra (ex: <code>detalhes.html</code> ou <code>../css/estilo.css</code>). O navegador resolve o caminho tomando como base a pasta onde o documento atual está gravado.</li>
</ul>
<div class="wzw-callout wzw-callout-info">
    <span class="wzw-callout-icon">💡</span></p>
<div class="wzw-callout-text">
        <strong>Recomendação Arquitetural:</strong> Prefira sempre <strong>URLs relativas à raiz (iniciadas por <code>/</code>)</strong> para links internos e carregamento de imagens no seu template. Se você mudar seu domínio ou testar localmente, os links não quebram.
    </div>
</div>
<h2>3. O Mecanismo do URL Encoding (Percent-Encoding)</h2>
<p>O protocolo de transmissão HTTP foi projetado historicamente sobre o conjunto de caracteres US-ASCII de 7 bits (RFC 3986). Caracteres que não pertencem a esse intervalo básico — como espaços, letras acentuadas (á, ç, õ), emojis e alfabetos internacionais — <strong>não podem trafegar diretamente na URL</strong>.</p>
<p>Além disso, caracteres que possuem significado estrutural (como <code>?</code>, <code>&amp;</code>, <code>=</code>, <code>/</code>, <code>#</code>) precisam ser &#8220;escapados&#8221; caso sejam enviados como simples dados de texto dentro de uma query string. Esse processo chama-se <strong>Percent-Encoding</strong>: o caractere problemático é substituído por um sinal de porcentagem (<code>%</code>) seguido de dois dígitos hexadecimais que representam seus bytes em UTF-8.</p>
<div class="wzw-table-responsive">
<table class="wzw-table">
<thead>
<tr>
<th style="width: 120px;">Caractere</th>
<th style="width: 140px;">Código Hex (Percent)</th>
<th>Contexto do Uso e Cuidado</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Espaço</strong></td>
<td><code>%20</code> (ou <code>+</code>)</td>
<td>Em URLs comuns usa-se <code>%20</code>; em formulários enviados via GET é comum o navegador converter espaços para <code>+</code>.</td>
</tr>
<tr>
<td><code>&amp;</code></td>
<td><code>%26</code></td>
<td>Se trafegar solto em um parâmetro, o servidor interpretará que um novo campo começou. Codificado como <code>%26</code>, é lido como texto literal.</td>
</tr>
<tr>
<td><code>=</code></td>
<td><code>%3D</code></td>
<td>Evita a confusão com o separador chave=valor de um parâmetro de busca.</td>
</tr>
<tr>
<td><code>?</code></td>
<td><code>%3F</code></td>
<td>Evita indicar um segundo início indevido de query string.</td>
</tr>
<tr>
<td><code>#</code></td>
<td><code>%23</code></td>
<td>Se não for codificado, o navegador corta a URL e acha que o restante é uma âncora interna.</td>
</tr>
<tr>
<td><code>/</code></td>
<td><code>%2F</code></td>
<td>Usado para passar um caminho inteiro dentro de um parâmetro de redirecionamento (ex: <code>?redirect=%2Fpainel</code>).</td>
</tr>
<tr>
<td><code>ç</code></td>
<td><code>%C3%A7</code></td>
<td>Letra &#8216;ç&#8217; codificada em 2 bytes UTF-8 no padrão web.</td>
</tr>
<tr>
<td><code>ã</code></td>
<td><code>%C3%A3</code></td>
<td>Letra &#8216;ã&#8217; codificada em 2 bytes UTF-8 no padrão web.</td>
</tr>
</tbody>
</table>
</div>
<h2>4. Codificação no Front-End: encodeURI() vs encodeURIComponent()</h2>
<p>Se você manipula URLs e parâmetros dinâmicos via JavaScript, o ecossistema web fornece duas funções nativas essenciais:</p>
<div class="wzw-code-wrapper">
<div class="wzw-code-header">
        <span>JavaScript — encodeURI vs encodeURIComponent</span><br />
        <span>url-encode.js</span>
    </div>
    <div class="wzw-ide-card" id="wzw-code-67343" data-lang="code">
        <div class="wzw-ide-header">
            <div class="wzw-ide-dots" aria-hidden="true">
                <span class="wzw-dot wzw-dot-red"></span>
                <span class="wzw-dot wzw-dot-amber"></span>
                <span class="wzw-dot wzw-dot-green"></span>
            </div>
            <div class="wzw-ide-meta">
                <span class="wzw-ide-lang-badge">JavaScript</span>
                                <span class="wzw-ide-lines-count">10 linhas</span>
            </div>
            <div class="wzw-ide-actions">
                <button type="button" class="wzw-ide-btn wzw-ide-wrap-btn" onclick="wzwToggleCodeWrap('wzw-code-67343', this)" title="Alternar quebra automática de linhas">
                    ⇄ Wrap
                </button>
                <button type="button" class="wzw-ide-btn wzw-ide-copy-btn" onclick="wzwCopyCodeBlock('wzw-code-67343', this)" aria-label="Copiar código para a área de transferência">
                    📋 <span class="wzw-copy-text">Copiar Código</span>
                </button>
            </div>
        </div>
        <div class="wzw-ide-body">
            <pre class="wzw-ide-pre" tabindex="0"><code class="wzw-ide-code"><span class="wzw-code-line"><span class="wzw-tk-comment">// 1. encodeURI: Para a URL completa (preserva : / ? &amp; =)</span></span>
<span class="wzw-code-line"><span class="wzw-tk-kw">const</span> urlCompleta = <span class="wzw-tk-str">&quot;https://webzoneware.com/busca?termo=programação web&quot;</span>;</span>
<span class="wzw-code-line">console.<span class="wzw-tk-fn">log</span>(<span class="wzw-tk-fn">encodeURI</span>(urlCompleta));</span>
<span class="wzw-code-line"><span class="wzw-tk-comment">// Resultado: https://webzoneware.com/busca?termo=programa%C3%A7%C3%A3o%20web</span></span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line"><span class="wzw-tk-comment">// 2. encodeURIComponent: Para um único parâmetro (codifica inclusive &amp; e =)</span></span>
<span class="wzw-code-line"><span class="wzw-tk-kw">const</span> busca = <span class="wzw-tk-str">&quot;HTML &amp; CSS Completo&quot;</span>;</span>
<span class="wzw-code-line"><span class="wzw-tk-kw">const</span> urlFinal = <span class="wzw-tk-str">&quot;https://webzoneware.com/busca?q=&quot;</span> + <span class="wzw-tk-fn">encodeURIComponent</span>(busca);</span>
<span class="wzw-code-line">console.<span class="wzw-tk-fn">log</span>(urlFinal);</span>
<span class="wzw-code-line"><span class="wzw-tk-comment">// Resultado: https://webzoneware.com/busca?q=HTML%20%26%20CSS%20Completo</span></span>
</code></pre>
            <textarea class="wzw-ide-raw" aria-hidden="true" tabindex="-1" readonly>// 1. encodeURI: Para a URL completa (preserva : / ? &amp; =)
const urlCompleta = &quot;https://webzoneware.com/busca?termo=programação web&quot;;
console.log(encodeURI(urlCompleta));
// Resultado: https://webzoneware.com/busca?termo=programa%C3%A7%C3%A3o%20web

// 2. encodeURIComponent: Para um único parâmetro (codifica inclusive &amp; e =)
const busca = &quot;HTML &amp; CSS Completo&quot;;
const urlFinal = &quot;https://webzoneware.com/busca?q=&quot; + encodeURIComponent(busca);
console.log(urlFinal);
// Resultado: https://webzoneware.com/busca?q=HTML%20%26%20CSS%20Completo</textarea>
        </div>
    </div>
    
</div>
<div class="wzw-callout wzw-callout-pro">
    <span class="wzw-callout-icon">🎯</span></p>
<div class="wzw-callout-text">
        <strong>A Diferença Crítica:</strong> Se você passar <code>"HTML &amp; CSS"</code> usando apenas <code>encodeURI()</code>, o caractere <code>&amp;</code> será mantido solto e o servidor achará que existe um parâmetro <code>q=HTML</code> e outro parâmetro sem valor chamado <code>CSS</code>. Use sempre <strong><code>encodeURIComponent()</code></strong> nos valores individuais de cada parâmetro.
    </div>
</div>
<h2>5. Exemplo Prático: Gerador Interativo de URLs no Playground IDE</h2>
<p>Abaixo está um componente interativo que demonstra como montar e decodificar URLs com parâmetros dinâmicos em tempo real:</p>
<div class="wzw-code-wrapper">
<div class="wzw-code-header">
        <span>HTML5 + CSS3 + JavaScript — Analisador e Construtor de URLs</span><br />
        <span>gerador-url.html</span>
    </div>
    <div class="wzw-ide-card" id="wzw-code-99777" data-lang="code">
        <div class="wzw-ide-header">
            <div class="wzw-ide-dots" aria-hidden="true">
                <span class="wzw-dot wzw-dot-red"></span>
                <span class="wzw-dot wzw-dot-amber"></span>
                <span class="wzw-dot wzw-dot-green"></span>
            </div>
            <div class="wzw-ide-meta">
                <span class="wzw-ide-lang-badge">HTML</span>
                                <span class="wzw-ide-lines-count">112 linhas</span>
            </div>
            <div class="wzw-ide-actions">
                <button type="button" class="wzw-ide-btn wzw-ide-wrap-btn" onclick="wzwToggleCodeWrap('wzw-code-99777', this)" title="Alternar quebra automática de linhas">
                    ⇄ Wrap
                </button>
                <button type="button" class="wzw-ide-btn wzw-ide-copy-btn" onclick="wzwCopyCodeBlock('wzw-code-99777', this)" aria-label="Copiar código para a área de transferência">
                    📋 <span class="wzw-copy-text">Copiar Código</span>
                </button>
            </div>
        </div>
        <div class="wzw-ide-body">
            <pre class="wzw-ide-pre" tabindex="0"><code class="wzw-ide-code"><span class="wzw-code-line"><span class="wzw-tk-tag">&lt;!DOCTYPE</span><span class="wzw-tk-kw"> html</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;html</span> <span class="wzw-tk-attr">lang</span>=<span class="wzw-tk-str">&quot;pt-BR&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;head&gt;</span></span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;meta</span> <span class="wzw-tk-attr">charset</span>=<span class="wzw-tk-str">&quot;UTF-8&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;title&gt;</span>Analisador de URLs Web Academy<span class="wzw-tk-tag">&lt;/title&gt;</span></span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;style&gt;</span></span>
<span class="wzw-code-line">        body {</span>
<span class="wzw-code-line">            font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;</span>
<span class="wzw-code-line">            background-color: #0f172a;</span>
<span class="wzw-code-line">            color: #f8fafc;</span>
<span class="wzw-code-line">            padding: 30px;</span>
<span class="wzw-code-line">        }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        .card-url {</span>
<span class="wzw-code-line">            max-width: 760px;</span>
<span class="wzw-code-line">            margin: 0 auto;</span>
<span class="wzw-code-line">            background: #1e293b;</span>
<span class="wzw-code-line">            border: 1px solid #334155;</span>
<span class="wzw-code-line">            border-radius: 16px;</span>
<span class="wzw-code-line">            padding: 28px;</span>
<span class="wzw-code-line">            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);</span>
<span class="wzw-code-line">        }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        .campo-grupo {</span>
<span class="wzw-code-line">            margin-bottom: 18px;</span>
<span class="wzw-code-line">        }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        .campo-grupo label {</span>
<span class="wzw-code-line">            display: block;</span>
<span class="wzw-code-line">            font-size: 13px;</span>
<span class="wzw-code-line">            font-weight: 700;</span>
<span class="wzw-code-line">            color: #94a3b8;</span>
<span class="wzw-code-line">            margin-bottom: 6px;</span>
<span class="wzw-code-line">        }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        .campo-grupo input {</span>
<span class="wzw-code-line">            width: 100%;</span>
<span class="wzw-code-line">            padding: 10px 14px;</span>
<span class="wzw-code-line">            background: #0b1120;</span>
<span class="wzw-code-line">            border: 1px solid #334155;</span>
<span class="wzw-code-line">            border-radius: 8px;</span>
<span class="wzw-code-line">            color: #f8fafc;</span>
<span class="wzw-code-line">            font-size: 14px;</span>
<span class="wzw-code-line">            box-sizing: border-box;</span>
<span class="wzw-code-line">        }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        .resultado-box {</span>
<span class="wzw-code-line">            background: #0284c7;</span>
<span class="wzw-code-line">            padding: 16px 20px;</span>
<span class="wzw-code-line">            border-radius: 10px;</span>
<span class="wzw-code-line">            margin-top: 24px;</span>
<span class="wzw-code-line">            word-break: break-all;</span>
<span class="wzw-code-line">        }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        .resultado-box strong {</span>
<span class="wzw-code-line">            display: block;</span>
<span class="wzw-code-line">            font-size: 11px;</span>
<span class="wzw-code-line">            text-transform: uppercase;</span>
<span class="wzw-code-line">            letter-spacing: 0.5px;</span>
<span class="wzw-code-line">            color: #e0f2fe;</span>
<span class="wzw-code-line">            margin-bottom: 4px;</span>
<span class="wzw-code-line">        }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        .resultado-box code {</span>
<span class="wzw-code-line">            font-size: 14px;</span>
<span class="wzw-code-line">            font-family: Consolas, monospace;</span>
<span class="wzw-code-line">            color: #ffffff;</span>
<span class="wzw-code-line">        }</span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;/style&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;/head&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;body&gt;</span></span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;div</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;card-url&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line">        <span class="wzw-tk-tag">&lt;h3</span> <span class="wzw-tk-attr">style</span>=<span class="wzw-tk-str">&quot;margin-top:0; color:#38bdf8;&quot;</span><span class="wzw-tk-tag">&gt;</span>Laboratório de URL Encoding<span class="wzw-tk-tag">&lt;/h3&gt;</span></span>
<span class="wzw-code-line">        <span class="wzw-tk-tag">&lt;p</span> <span class="wzw-tk-attr">style</span>=<span class="wzw-tk-str">&quot;color:#94a3b8; font-size:14px;&quot;</span><span class="wzw-tk-tag">&gt;</span>Digite termos com acentos, espaços e caracteres especiais para ver a URL codificada gerada instantaneamente:<span class="wzw-tk-tag">&lt;/p&gt;</span></span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        <span class="wzw-tk-tag">&lt;div</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;campo-grupo&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line">            <span class="wzw-tk-tag">&lt;label</span> <span class="wzw-tk-attr">for</span>=<span class="wzw-tk-str">&quot;termo-busca&quot;</span><span class="wzw-tk-tag">&gt;</span>Termo de Pesquisa (com acentos e símbolos):<span class="wzw-tk-tag">&lt;/label&gt;</span></span>
<span class="wzw-code-line">            <span class="wzw-tk-tag">&lt;input</span> <span class="wzw-tk-attr">type</span>=<span class="wzw-tk-str">&quot;text&quot;</span> <span class="wzw-tk-attr">id</span>=<span class="wzw-tk-str">&quot;termo-busca&quot;</span> <span class="wzw-tk-attr">value</span>=<span class="wzw-tk-str">&quot;Desenvolvimento Web &amp; Design Moderno&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line">        <span class="wzw-tk-tag">&lt;/div&gt;</span></span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        <span class="wzw-tk-tag">&lt;div</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;campo-grupo&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line">            <span class="wzw-tk-tag">&lt;label</span> <span class="wzw-tk-attr">for</span>=<span class="wzw-tk-str">&quot;categoria&quot;</span><span class="wzw-tk-tag">&gt;</span>Categoria:<span class="wzw-tk-tag">&lt;/label&gt;</span></span>
<span class="wzw-code-line">            <span class="wzw-tk-tag">&lt;input</span> <span class="wzw-tk-attr">type</span>=<span class="wzw-tk-str">&quot;text&quot;</span> <span class="wzw-tk-attr">id</span>=<span class="wzw-tk-str">&quot;categoria&quot;</span> <span class="wzw-tk-attr">value</span>=<span class="wzw-tk-str">&quot;Tutoriais de Programação&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line">        <span class="wzw-tk-tag">&lt;/div&gt;</span></span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        <span class="wzw-tk-tag">&lt;div</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;resultado-box&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line">            <span class="wzw-tk-tag">&lt;strong&gt;</span>URL Canônica Codificada Resultante:<span class="wzw-tk-tag">&lt;/strong&gt;</span></span>
<span class="wzw-code-line">            <span class="wzw-tk-tag">&lt;code</span> <span class="wzw-tk-attr">id</span>=<span class="wzw-tk-str">&quot;url-resultado&quot;</span><span class="wzw-tk-tag">&gt;</span><span class="wzw-tk-tag">&lt;/code&gt;</span></span>
<span class="wzw-code-line">        <span class="wzw-tk-tag">&lt;/div&gt;</span></span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;/div&gt;</span></span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;script&gt;</span></span>
<span class="wzw-code-line">        const inputTermo = document.getElementById(&quot;termo-busca&quot;);</span>
<span class="wzw-code-line">        const inputCategoria = document.getElementById(&quot;categoria&quot;);</span>
<span class="wzw-code-line">        const displayResultado = document.getElementById(&quot;url-resultado&quot;);</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        function atualizarUrl() {</span>
<span class="wzw-code-line">            const base = &quot;https://webzoneware.com/web-academy/busca/&quot;;</span>
<span class="wzw-code-line">            const q = encodeURIComponent(inputTermo.value);</span>
<span class="wzw-code-line">            const cat = encodeURIComponent(inputCategoria.value);</span>
<span class="wzw-code-line">            displayResultado.textContent = `${base}?q=${q}&amp;categoria=${cat}`;</span>
<span class="wzw-code-line">        }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        inputTermo.addEventListener(&quot;input&quot;, atualizarUrl);</span>
<span class="wzw-code-line">        inputCategoria.addEventListener(&quot;input&quot;, atualizarUrl);</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">        <span class="wzw-tk-comment">// Inicializa na carga da página</span></span>
<span class="wzw-code-line">        atualizarUrl();</span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;/script&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;/body&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;/html&gt;</span></span>
</code></pre>
            <textarea class="wzw-ide-raw" aria-hidden="true" tabindex="-1" readonly>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;pt-BR&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;title&gt;Analisador de URLs Web Academy&lt;/title&gt;
    &lt;style&gt;
        body {
            font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            background-color: #0f172a;
            color: #f8fafc;
            padding: 30px;
        }

        .card-url {
            max-width: 760px;
            margin: 0 auto;
            background: #1e293b;
            border: 1px solid #334155;
            border-radius: 16px;
            padding: 28px;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
        }

        .campo-grupo {
            margin-bottom: 18px;
        }

        .campo-grupo label {
            display: block;
            font-size: 13px;
            font-weight: 700;
            color: #94a3b8;
            margin-bottom: 6px;
        }

        .campo-grupo input {
            width: 100%;
            padding: 10px 14px;
            background: #0b1120;
            border: 1px solid #334155;
            border-radius: 8px;
            color: #f8fafc;
            font-size: 14px;
            box-sizing: border-box;
        }

        .resultado-box {
            background: #0284c7;
            padding: 16px 20px;
            border-radius: 10px;
            margin-top: 24px;
            word-break: break-all;
        }

        .resultado-box strong {
            display: block;
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: #e0f2fe;
            margin-bottom: 4px;
        }

        .resultado-box code {
            font-size: 14px;
            font-family: Consolas, monospace;
            color: #ffffff;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

    &lt;div class=&quot;card-url&quot;&gt;
        &lt;h3 style=&quot;margin-top:0; color:#38bdf8;&quot;&gt;Laboratório de URL Encoding&lt;/h3&gt;
        &lt;p style=&quot;color:#94a3b8; font-size:14px;&quot;&gt;Digite termos com acentos, espaços e caracteres especiais para ver a URL codificada gerada instantaneamente:&lt;/p&gt;

        &lt;div class=&quot;campo-grupo&quot;&gt;
            &lt;label for=&quot;termo-busca&quot;&gt;Termo de Pesquisa (com acentos e símbolos):&lt;/label&gt;
            &lt;input type=&quot;text&quot; id=&quot;termo-busca&quot; value=&quot;Desenvolvimento Web &amp; Design Moderno&quot;&gt;
        &lt;/div&gt;

        &lt;div class=&quot;campo-grupo&quot;&gt;
            &lt;label for=&quot;categoria&quot;&gt;Categoria:&lt;/label&gt;
            &lt;input type=&quot;text&quot; id=&quot;categoria&quot; value=&quot;Tutoriais de Programação&quot;&gt;
        &lt;/div&gt;

        &lt;div class=&quot;resultado-box&quot;&gt;
            &lt;strong&gt;URL Canônica Codificada Resultante:&lt;/strong&gt;
            &lt;code id=&quot;url-resultado&quot;&gt;&lt;/code&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        const inputTermo = document.getElementById(&quot;termo-busca&quot;);
        const inputCategoria = document.getElementById(&quot;categoria&quot;);
        const displayResultado = document.getElementById(&quot;url-resultado&quot;);

        function atualizarUrl() {
            const base = &quot;https://webzoneware.com/web-academy/busca/&quot;;
            const q = encodeURIComponent(inputTermo.value);
            const cat = encodeURIComponent(inputCategoria.value);
            displayResultado.textContent = `${base}?q=${q}&amp;categoria=${cat}`;
        }

        inputTermo.addEventListener(&quot;input&quot;, atualizarUrl);
        inputCategoria.addEventListener(&quot;input&quot;, atualizarUrl);

        // Inicializa na carga da página
        atualizarUrl();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</textarea>
        </div>
    </div>
    
<div class="wzw-playground-action-bar">
        <span class="wzw-playground-desc">Teste e experimente com codificação de URLs no nosso editor em tempo real:</span><br />
        <a href="/web-academy/playground-web/" class="wzw-btn-playground" target="_blank" rel="noopener">⚡ Testar no Playground IDE</a>
    </div>
</div>
<h2>6. Boas Práticas e SEO para URLs no WordPress e HTML</h2>
<ul>
<li><strong>Use Apenas Letras Minúsculas e Hífens:</strong> No ecossistema web e no WordPress, slugs devem seguir o padrão <em>kebab-case</em> (ex: <code>urls-e-codificacao-na-web</code>). Evite sublinhados (<code>_</code>) e letras maiúsculas, pois servidores Linux tratam maiúsculas como pastas distintas, gerando erros 404 e problemas de conteúdo duplicado.</li>
<li><strong>Elimine Acentos dos Slugs Permanentes:</strong> Embora o navegador consiga converter <code>/lição/</code> em <code>/li%C3%A7%C3%A3o/</code>, slugs limpos em ASCII puro (<code>/licao/</code>) são muito mais fáceis de compartilhar no WhatsApp, e-mails e redes sociais.</li>
<li><strong>Decodifique com Ferramentas Nativas:</strong> Se você receber uma URL com dezenas de códigos <code>%20</code>, <code>%3F</code> e <code>%26</code> e precisar inspecionar seu conteúdo legível, utilize a ferramenta de <a href="/web-ferramentas/codificador-de-base64/" target="_blank" rel="noopener">Codificador e Decodificador</a> do Web-ZoneWare.</li>
</ul>
<div class="wzw-callout wzw-callout-pro">
    <span class="wzw-callout-icon">🚀</span></p>
<div class="wzw-callout-text">
        <strong>Próximo Passo Didático:</strong> Na <strong>Lição 25: Guia Rápido de Tags HTML</strong>, faremos uma síntese de consulta rápida com as tags mais importantes do HTML4 e HTML5, agrupadas por função estrutural, texto, formulários e multimídia, servindo como um <em>cheatsheet</em> permanente para sua carreira.
    </div>
</div>
<p>O post <a href="https://webzoneware.com/web-academy/curso-html/urls-e-codificacao-na-web/">URLs no HTML: Anatomia e URL Encoding | Web Academy</a> apareceu primeiro em <a href="https://webzoneware.com">Web-Zoneware</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webzoneware.com/web-academy/curso-html/urls-e-codificacao-na-web/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
