diff options
Diffstat (limited to 'files/pt-br/web/http')
-rw-r--r-- | files/pt-br/web/http/basics_of_http/identifying_resources_on_the_web/index.html (renamed from files/pt-br/web/http/basico_sobre_http/identifying_resources_on_the_web/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/basics_of_http/index.html (renamed from files/pt-br/web/http/basico_sobre_http/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/basics_of_http/mime_types/common_types/index.html (renamed from files/pt-br/web/http/basico_sobre_http/mime_types/complete_list_of_mime_types/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/basics_of_http/mime_types/index.html (renamed from files/pt-br/web/http/basico_sobre_http/mime_types/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/caching/index.html (renamed from files/pt-br/web/http/http/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/compression/index.html (renamed from files/pt-br/web/http/compressão/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/connection_management_in_http_1.x/index.html (renamed from files/pt-br/web/http/gerenciamento_de_conexão_em_http_1.x/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/cors/index.html (renamed from files/pt-br/web/http/controle_acesso_cors/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/headers/connection/index.html (renamed from files/pt-br/web/http/headers/conexão/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/headers/location/index.html (renamed from files/pt-br/web/http/headers/localização/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/messages/index.html (renamed from files/pt-br/web/http/mensagens/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/redirections/index.html (renamed from files/pt-br/web/http/redirecionamento/index.html) | 3 | ||||
-rw-r--r-- | files/pt-br/web/http/server-side_access_control/index.html | 213 |
13 files changed, 24 insertions, 225 deletions
diff --git a/files/pt-br/web/http/basico_sobre_http/identifying_resources_on_the_web/index.html b/files/pt-br/web/http/basics_of_http/identifying_resources_on_the_web/index.html index 42830a10b9..bbd38652eb 100644 --- a/files/pt-br/web/http/basico_sobre_http/identifying_resources_on_the_web/index.html +++ b/files/pt-br/web/http/basics_of_http/identifying_resources_on_the_web/index.html @@ -1,6 +1,6 @@ --- title: Identificando recursos na web -slug: Web/HTTP/Basico_sobre_HTTP/Identifying_resources_on_the_Web +slug: Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web tags: - Esquema - HTTP @@ -12,6 +12,7 @@ tags: - query - resources translation_of: Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web +original_slug: Web/HTTP/Basico_sobre_HTTP/Identifying_resources_on_the_Web --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/basico_sobre_http/index.html b/files/pt-br/web/http/basics_of_http/index.html index a89b456f12..a536cb877c 100644 --- a/files/pt-br/web/http/basico_sobre_http/index.html +++ b/files/pt-br/web/http/basics_of_http/index.html @@ -1,7 +1,8 @@ --- title: Básico sobre HTTP -slug: Web/HTTP/Basico_sobre_HTTP +slug: Web/HTTP/Basics_of_HTTP translation_of: Web/HTTP/Basics_of_HTTP +original_slug: Web/HTTP/Basico_sobre_HTTP --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/basico_sobre_http/mime_types/complete_list_of_mime_types/index.html b/files/pt-br/web/http/basics_of_http/mime_types/common_types/index.html index d8f2b6898d..531155c129 100644 --- a/files/pt-br/web/http/basico_sobre_http/mime_types/complete_list_of_mime_types/index.html +++ b/files/pt-br/web/http/basics_of_http/mime_types/common_types/index.html @@ -1,10 +1,11 @@ --- title: Lista Incompleta de tipos MIME -slug: Web/HTTP/Basico_sobre_HTTP/MIME_types/Complete_list_of_MIME_types +slug: Web/HTTP/Basics_of_HTTP/MIME_types/Common_types tags: - Extensões HTTP - Tipos MIME translation_of: Web/HTTP/Basics_of_HTTP/MIME_types/Common_types +original_slug: Web/HTTP/Basico_sobre_HTTP/MIME_types/Complete_list_of_MIME_types --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/basico_sobre_http/mime_types/index.html b/files/pt-br/web/http/basics_of_http/mime_types/index.html index 3acce2553a..93c9408578 100644 --- a/files/pt-br/web/http/basico_sobre_http/mime_types/index.html +++ b/files/pt-br/web/http/basics_of_http/mime_types/index.html @@ -1,7 +1,8 @@ --- title: MIME types -slug: Web/HTTP/Basico_sobre_HTTP/MIME_types +slug: Web/HTTP/Basics_of_HTTP/MIME_types translation_of: Web/HTTP/Basics_of_HTTP/MIME_types +original_slug: Web/HTTP/Basico_sobre_HTTP/MIME_types --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/http/index.html b/files/pt-br/web/http/caching/index.html index 9cfd4d4a0d..819b7bb656 100644 --- a/files/pt-br/web/http/http/index.html +++ b/files/pt-br/web/http/caching/index.html @@ -1,6 +1,6 @@ --- title: Cacheamento HTTP -slug: Web/HTTP/HTTP +slug: Web/HTTP/Caching tags: - Cache - Cacheamento @@ -10,6 +10,7 @@ tags: - Rede - Web translation_of: Web/HTTP/Caching +original_slug: Web/HTTP/HTTP --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/compressão/index.html b/files/pt-br/web/http/compression/index.html index a1f16b762f..d5d36e6906 100644 --- a/files/pt-br/web/http/compressão/index.html +++ b/files/pt-br/web/http/compression/index.html @@ -1,11 +1,12 @@ --- title: Compressão em HTTP -slug: Web/HTTP/Compressão +slug: Web/HTTP/Compression tags: - Guía - HTTP - compressão translation_of: Web/HTTP/Compression +original_slug: Web/HTTP/Compressão --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/gerenciamento_de_conexão_em_http_1.x/index.html b/files/pt-br/web/http/connection_management_in_http_1.x/index.html index c67e52b062..e8472e7a19 100644 --- a/files/pt-br/web/http/gerenciamento_de_conexão_em_http_1.x/index.html +++ b/files/pt-br/web/http/connection_management_in_http_1.x/index.html @@ -1,6 +1,6 @@ --- title: Gerenciamento de Conexão em HTTP/1.x -slug: Web/HTTP/Gerenciamento_de_Conexão_em_HTTP_1.x +slug: Web/HTTP/Connection_management_in_HTTP_1.x tags: - Guide - Guía @@ -11,6 +11,7 @@ tags: - performace - sharding translation_of: Web/HTTP/Connection_management_in_HTTP_1.x +original_slug: Web/HTTP/Gerenciamento_de_Conexão_em_HTTP_1.x --- <p class="summary">Gerenciamento de Conexão é um tema central em HTTP: abertura e manutenção de conexões e em grande parte tem impacto sobre o desempenho de Web sites e aplicações Web. Existem vários modelos, em HTTP/1.x: <em>ligações de curta duração, conexões persistentes, canalização e HTTP (HTTP pipelining)</em>.</p> diff --git a/files/pt-br/web/http/controle_acesso_cors/index.html b/files/pt-br/web/http/cors/index.html index 51470f94b7..03a3decd0f 100644 --- a/files/pt-br/web/http/controle_acesso_cors/index.html +++ b/files/pt-br/web/http/cors/index.html @@ -1,12 +1,13 @@ --- title: Cross-Origin Resource Sharing (CORS) -slug: Web/HTTP/Controle_Acesso_CORS +slug: Web/HTTP/CORS tags: - AJAX - CORS - HTTP - XMLHttpRequest translation_of: Web/HTTP/CORS +original_slug: Web/HTTP/Controle_Acesso_CORS --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/headers/conexão/index.html b/files/pt-br/web/http/headers/connection/index.html index b8df737d95..d7caeef527 100644 --- a/files/pt-br/web/http/headers/conexão/index.html +++ b/files/pt-br/web/http/headers/connection/index.html @@ -1,6 +1,6 @@ --- title: Connection -slug: Web/HTTP/Headers/Conexão +slug: Web/HTTP/Headers/Connection tags: - Cabeçalhos - HTTP @@ -8,6 +8,7 @@ tags: - Referencia - Web translation_of: Web/HTTP/Headers/Connection +original_slug: Web/HTTP/Headers/Conexão --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/headers/localização/index.html b/files/pt-br/web/http/headers/location/index.html index 2b8ebcc404..292ec057cf 100644 --- a/files/pt-br/web/http/headers/localização/index.html +++ b/files/pt-br/web/http/headers/location/index.html @@ -1,11 +1,12 @@ --- title: Location -slug: Web/HTTP/Headers/Localização +slug: Web/HTTP/Headers/Location tags: - Cabeçalho HTTP - Cabeçalho de Resposta - HTTP translation_of: Web/HTTP/Headers/Location +original_slug: Web/HTTP/Headers/Localização --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/mensagens/index.html b/files/pt-br/web/http/messages/index.html index 895c58d2e8..36ec334991 100644 --- a/files/pt-br/web/http/mensagens/index.html +++ b/files/pt-br/web/http/messages/index.html @@ -1,11 +1,12 @@ --- title: Mensagens HTTP -slug: Web/HTTP/Mensagens +slug: Web/HTTP/Messages tags: - Guía - HTTP - Protocolos translation_of: Web/HTTP/Messages +original_slug: Web/HTTP/Mensagens --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/redirecionamento/index.html b/files/pt-br/web/http/redirections/index.html index c429ac82cb..c1547b54d4 100644 --- a/files/pt-br/web/http/redirecionamento/index.html +++ b/files/pt-br/web/http/redirections/index.html @@ -1,11 +1,12 @@ --- title: Redirecionamentos em HTTP -slug: Web/HTTP/Redirecionamento +slug: Web/HTTP/Redirections tags: - Guía - HTTP - Redirecionamento translation_of: Web/HTTP/Redirections +original_slug: Web/HTTP/Redirecionamento --- <div>{{HTTPSidebar}}</div> diff --git a/files/pt-br/web/http/server-side_access_control/index.html b/files/pt-br/web/http/server-side_access_control/index.html deleted file mode 100644 index b1cb255383..0000000000 --- a/files/pt-br/web/http/server-side_access_control/index.html +++ /dev/null @@ -1,213 +0,0 @@ ---- -title: Controle de Acesso do lado do servidor (CORS) -slug: Web/HTTP/Server-Side_Access_Control -translation_of: Web/HTTP/CORS -translation_of_original: Web/HTTP/Server-Side_Access_Control ---- -<p><font><font>Os sistemas de controle de acesso realizam </font><font> identificação de </font></font><a class="external" href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=http://searchsoftwarequality.techtarget.com/definition/authorization&usg=ALkJrhgrx7L6XQEL-QG4A5SY3jla7SrNHA" rel="noopener"><font><font>autorização</font></font></a><font><font> , </font></font><a class="external" href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=http://searchsecurity.techtarget.com/definition/authentication&usg=ALkJrhhWsbD8tDshChXZ3hnAhempgwOyXw" rel="noopener"><font><font>autenticação</font></font></a><font><font> , aprovação de acesso e prestação de contas de entidades por meio de credenciais de login, incluindo </font></font><a class="external" href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=http://searchsecurity.techtarget.com/definition/password&usg=ALkJrhilnjZN5ktJEcxF-46B0IA7otOZEg" rel="noopener"><font><font>senhas</font></font></a><font><font> , números de identificação pessoal (PINs), </font><font> varreduras </font></font><a class="external" href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=http://searchsecurity.techtarget.com/definition/biometrics&usg=ALkJrhhhm_VuMmwP8y53PpOCxVJttPPfhA" rel="noopener"><font><font>biométricas</font></font></a><font><font> e chaves físicas ou eletrônicas.</font></font></p> - -<p><font><font>O controle de acesso é uma técnica de segurança que pode ser usada para regular quem ou o que pode exibir ou usar recursos em um ambiente de computação.</font></font></p> - -<p>{{HTTPSidebar}}</p> - -<p><font><font>Os navegadores enviam </font></font><a href="/pt-BR/docs/Web/HTTP/Headers">Cabeçalhos HTTP </a><font><font><a href="/pt-BR/docs/"> </a>específicos </font><font>para solicitações entre sites iniciadas de dentro </font></font>XMLHttpRequest<font><font> </font></font><font><font>ou da </font></font><a href="/en-US/docs/Web/API/Fetch_API"> </a><a href="/pt-BR/docs/Web/API/Fetch_API/Using_Fetch">Fetch Api </a><font><font>. </font><font>Eles também esperam ver cabeçalhos HTTP específicos enviados de volta com respostas entre sites. </font><font>Uma visão geral desses cabeçalhos, incluindo amostra de código JavaScript que inicia solicitações e processa respostas do servidor, além de uma discussão sobre cada cabeçalho, pode ser encontrada no artigo</font></font> <a href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS">HTTP Access Control (CORS) article</a><font><font> e deve ser lida como um artigo complementar para este. </font><font>Este artigo aborda o processamento de </font></font><strong><font><font>solicitações de controle de acesso</font></font></strong><font><font> e a formulação de </font></font><strong><font><font>respostas de controle de acesso</font></font></strong><font><font>em PHP. </font><font>O público-alvo deste artigo são programadores ou administradores de servidores. </font><font>Embora os exemplos de código mostrados aqui estejam em PHP, conceitos semelhantes se aplicam ao ASP.net, Perl, Python, Java, etc .; </font><font>em geral, esses conceitos podem ser aplicados a qualquer ambiente de programação do servidor que processa solicitações HTTP e formula dinamicamente respostas HTTP.</font></font></p> - -<h2 id="Discussão_de_cabeçalhos_HTTP"><font><font>Discussão de cabeçalhos HTTP</font></font></h2> - -<p><font><font>O artigo que cobre os<a href="/pt-BR/docs/Web/HTTP/Headers"> cabeçalhos HTTP usados por clientes e servidores</a></font></font> <font><font>deve ser considerado leitura de pré-requisito.</font></font></p> - -<h2 id="Amostras_de_código_de_trabalho"><font><font>Amostras de código de trabalho</font></font></h2> - -<p><font><font>Os trechos de PHP (e as invocações de JavaScript para o servidor) nas seções subseqüentes são obtidos das </font></font><a class="external" href="http://arunranga.com/examples/access-control/" rel="noopener"><font><font>amostras de código de trabalho postadas aqui. </font></font></a><font><font>Eles funcionarão em navegadores que implementam sites cruzados </font></font>{{domxref("XMLHttpRequest")}}.</p> - -<h2 id="Solicitações_simples_entre_sites"><font><font>Solicitações simples entre sites</font></font></h2> - -<p><a href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS">Solicitações simples de controle de acesso </a><font><font><a href="/en-US/docs/Web/HTTP/Access_control_CORS#Simple_requests"> </a>são iniciadas quando:</font></font></p> - -<ul> - <li><font><font>Um HTTP / 1.1 </font></font><a href="/pt-BR/docs/Web/HTTP/Methods/GET" title="O método HTTP GET solicita uma representação do recurso especificado. Solicitações usando GET devem recuperar apenas dados."><code>GET</code></a><font><font> ou a </font></font><a href="/pt-BR/docs/Web/HTTP/Methods/POST" title="O método HTTP POST envia dados para o servidor. O tipo do corpo da solicitação é indicado pelo cabeçalho Content-Type."><code>POST</code></a><font><font> é usado como método de solicitação. </font><font>No caso de um POST, o </font></font><a href="/pt-BR/docs/Web/HTTP/Headers/Content-Type" title="O cabeçalho da entidade Content-Type é usado para indicar o tipo de mídia do recurso."><code>Content-Type</code></a><font><font> do corpo do pedido é uma de </font></font><code>application/x-www-form-urlencoded</code><font><font>, </font></font><code>multipart/form-data</code><font><font>ou</font></font><code>text/plain.</code></li> - <li><font><font>Nenhum cabeçalho personalizado é enviado com a solicitação HTTP (como </font></font><code>X-Modified</code><font><font>, etc.)</font></font></li> -</ul> - -<p><font><font>Nesse caso, as respostas podem ser enviadas de volta com base em algumas considerações.</font></font></p> - -<ul> - <li><font><font>Se o recurso em questão for amplamente acessado (como qualquer recurso HTTP acessado pelo GET), o envio do </font><font>cabeçalho será suficiente, a </font><strong><font>menos que</font></strong><font> o recurso precise de credenciais, como </font><font>informações de autenticação de </font><a href="/pt-BR/docs/Web/HTTP/Cookies"><font>cookies</font></a><font> e HTTP. </font></font><a href="/pt-BR/docs/Web/HTTP/Headers/Access-Control-Allow-Origin" title="O cabeçalho da resposta Access-Control-Allow-Origin indica se a resposta pode ser compartilhada com o código solicitante da origem especificada."><code>Access-Control-Allow-Origin</code></a><code>: *</code></li> - <li><font><font>Se o recurso deve ser mantido restrito com base no domínio do solicitante, </font></font><strong><font><font>OU</font></font></strong><font><font> se o recurso precisar ser acessado com credenciais (ou define credenciais), </font></font><a href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin&usg=ALkJrhhwNS3HqZius2soHeJ_asp-bwvgYA" title="O cabeçalho da solicitação de origem indica de onde uma busca se origina. Não inclui nenhuma informação de caminho, mas apenas o nome do servidor. É enviado com solicitações CORS, bem como com solicitações POST. É semelhante ao cabeçalho Referer, mas, diferentemente desse cabeçalho, não divulga todo o caminho."><code>Origin</code></a><font><font> pode ser necessário </font><font>filtrar pelo </font><font>cabeçalho </font><font>da solicitação </font><font>ou, pelo menos, repetir o retorno do solicitante </font></font><code>Origin</code><font><font> ( por exemplo </font><font>). </font><font>Além disso, o </font><font>cabeçalho deverá ser enviado. </font><font>Isso é discutido em uma </font><a href="/pt-BR/docs/Web/HTTP/Server-Side_Access_Control"><font>seção subsequente</font></a><font> . </font></font><a href="/pt-BR/docs/Web/HTTP/Headers/Access-Control-Allow-Origin" title="O cabeçalho da resposta Access-Control-Allow-Origin indica se a resposta pode ser compartilhada com o código solicitante da origem especificada."><code>Access-Control-Allow-Origin</code></a><code>: <a class="external" href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=http://arunranga.com/&usg=ALkJrhjGkKIBAoEKxwNFuLJLg9smgZgatQ" rel="freelink noopener">http://arunranga.com </a></code><a href="/pt-BR/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials" title='O cabeçalho de resposta Access-Control-Allow-Credentials informa aos navegadores se deve expor a resposta ao código JavaScript de front-end quando o modo de credenciais da solicitação (Request.credentials) é "include".'><code>Access-Control-Allow-Credentials</code></a><code>: true</code></li> -</ul> - -<p><font><font>A seção </font></font><a class="internal" href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS"><font><font>Solicitações de controle de acesso simples</font></font></a><font><font> mostra as trocas de cabeçalho entre cliente e servidor. </font><font>Aqui está um segmento de código PHP que lida com uma solicitação simples:</font></font></p> - -<pre class="brush: php"><?php - -// Consideremos acesso apenas ao domínio arunranga.com -// Que achamos seguro acessar esse recurso como aplicattion / xml - -if($_SERVER['HTTP_ORIGIN'] == "http://arunranga.com") { - header('Access-Control-Allow-Origin: http://arunranga.com'); - header('Content-type: application/xml'); - readfile('arunerDotNetResource.xml'); -} else { - header('Content-Type: text/html'); - echo "<html>"; - echo "<head>"; - echo " <title>Another Resource</title>"; - echo "</head>"; - echo "<body>", - "<p>This resource behaves two-fold:"; - echo "<ul>", - "<li>If accessed from <code>http://arunranga.com</code> it returns an XML document</li>"; - echo "<li>If accessed from any other origin including from simply typing in the URL into the browser's address bar,"; - echo "you get this HTML document</li>", - "</ul>", - "</body>", - "</html>"; -} -?> -</pre> - -<p><font><font>O </font></font><a href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin&usg=ALkJrhhwNS3HqZius2soHeJ_asp-bwvgYA" title="O cabeçalho da solicitação de origem indica de onde uma busca se origina. Não inclui nenhuma informação de caminho, mas apenas o nome do servidor. É enviado com solicitações CORS, bem como com solicitações POST. É semelhante ao cabeçalho Referer, mas, diferentemente desse cabeçalho, não divulga todo o caminho."><code>Origin</code></a><font><font> item </font><font>acima verifica se o </font><font>cabeçalho enviado pelo navegador (obtido através de $ _SERVER ['HTTP_ORIGIN']]) corresponde a ' </font></font><a class="external" href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=http://arunranga.com/&usg=ALkJrhjGkKIBAoEKxwNFuLJLg9smgZgatQ" rel="freelink noopener"><font><font>http://arunranga.com</font></font></a><font><font> '. </font><font>Se sim, ele retorna </font><font>. </font><font>Este exemplo pode ser </font><a class="external" href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=http://arunranga.com/examples/access-control/&usg=ALkJrhgk6_MrqOBSrD829megYQb7ZI8x5w" rel="noopener"><font>visto em execução aqui</font></a><font> . </font></font><a href="/pt-BR/docs/Web/HTTP/Headers/Access-Control-Allow-Origin" title="O cabeçalho da resposta Access-Control-Allow-Origin indica se a resposta pode ser compartilhada com o código solicitante da origem especificada."><code>Access-Control-Allow-Origin</code></a><code>: <a class="external" href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=http://arunranga.com/&usg=ALkJrhjGkKIBAoEKxwNFuLJLg9smgZgatQ" rel="freelink noopener">http://arunranga.com</a></code></p> - -<h2 id="Solicitações_comprovadas"><font><font>Solicitações comprovadas</font></font></h2> - -<p><a class="internal" href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS"><font><font>Solicitações de controle de acesso comprovadas</font></font></a><font><font> ocorrem quando:</font></font></p> - -<ul> - <li><font><font>Um outro método que não </font></font><a href="/pt-BR/docs/Web/HTTP/Methods/GET" title="O método HTTP GET solicita uma representação do recurso especificado. Solicitações usando GET devem recuperar apenas dados."><code>GET</code></a><font><font> ou </font></font><a href="/pt-BR/docs/Web/HTTP/Methods/POST" title="O método HTTP POST envia dados para o servidor. O tipo do corpo da solicitação é indicado pelo cabeçalho Content-Type."><code>POST</code></a><font><font>é utilizado, ou se </font></font><a href="/pt-BR/docs/Web/HTTP/Methods/POST" title="O método HTTP POST envia dados para o servidor. O tipo do corpo da solicitação é indicado pelo cabeçalho Content-Type."><code>POST</code></a><font><font> é usado com um </font></font>{{HTTPHeader("Content-Type")}} diferente de um <code>application/x-www-form-urlencoded</code>, <code>multipart/form-data </code>ou <font><font> </font></font><code>text/plain</code><font><font>. </font></font><span class="tlid-translation translation" lang="pt"><span title="">Por exemplo, se o Tipo de Conteúdo do corpo <code>POST</code> for <code>application / xml</code>, uma solicitação será comprovada.</span></span></li> - <li><font><font>Um cabeçalho personalizado (como </font></font><code>X-PINGARUNER</code><font><font>) é enviado com a solicitação.</font></font></li> -</ul> - -<p><font><font>A seção </font></font><a class="internal" href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS"><font><font>Solicitações de controle de acesso</font></font></a><font><font> comprovado mostra uma troca de cabeçalho entre cliente e servidor. </font><font>Um recurso do servidor que responde a uma solicitação de comprovação precisa poder fazer as seguintes determinações:</font></font></p> - -<ul> - <li><font><font>Filtragem baseada </font></font><a href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin&usg=ALkJrhhwNS3HqZius2soHeJ_asp-bwvgYA" title="O cabeçalho da solicitação de origem indica de onde uma busca se origina. Não inclui nenhuma informação de caminho, mas apenas o nome do servidor. É enviado com solicitações CORS, bem como com solicitações POST. É semelhante ao cabeçalho Referer, mas, diferentemente desse cabeçalho, não divulga todo o caminho."><code>Origin</code></a><font><font>, se houver.</font></font></li> - <li><font><font>Resposta a uma </font></font><a href="/pt-BR/docs/Web/HTTP/Methods/OPTIONS" title="O método HTTP OPTIONS é usado para descrever as opções de comunicação para o recurso de destino. O cliente pode especificar uma URL para o método OPTIONS ou um asterisco (*) para se referir a todo o servidor."><code>OPTIONS</code></a><font><font> solicitação (que é a solicitação de comprovação), incluindo o envio de valores necessários com </font></font><a href="/pt-BR/docs/Web/HTTP/Headers/Access-Control-Allow-Methods" title="O cabeçalho de resposta Access-Control-Allow-Methods especifica o método ou métodos permitidos ao acessar o recurso em resposta a uma solicitação de comprovação."><code>Access-Control-Allow-Methods</code></a><font><font>, </font></font><a href="/pt-BR/docs/Web/HTTP/Headers/Access-Control-Allow-Headers" title="O cabeçalho de resposta Access-Control-Allow-Headers é usado em resposta a uma solicitação de comprovação que inclui os Access-Control-Request-Headers para indicar quais cabeçalhos HTTP podem ser usados durante a solicitação real."><code>Access-Control-Allow-Headers</code></a><font><font>(se forem necessários cabeçalhos adicionais para que o aplicativo funcione) e, se credenciais forem necessárias para este recurso </font></font><a href="/pt-BR/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials" title='O cabeçalho de resposta Access-Control-Allow-Credentials informa aos navegadores se deve expor a resposta ao código JavaScript de front-end quando o modo de credenciais da solicitação (Request.credentials) é "include".'><code>Access-Control-Allow-Credentials</code></a><font><font>,.</font></font></li> - <li><font><font>Resposta à solicitação real, incluindo manipulação de </font></font><code>POST</code><font><font> dados, etc.</font></font></li> -</ul> - -<p><font><font>Aqui está um exemplo no PHP de manipulação de uma </font></font><a class="internal" href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS#Preflighted_requests"><font><font>solicitação preflighted</font></font></a><font><font> :</font></font></p> - -<pre class="brush: php"><?php - -if($_SERVER['REQUEST_METHOD'] == "GET") { - - header('Content-Type: text/plain'); - echo "This HTTP resource is designed to handle POSTed XML input"; - echo "from arunranga.com and not be retrieved with GET"; - -} elseif($_SERVER['REQUEST_METHOD'] == "OPTIONS") { - // Diga ao cliente que apoiamos arunranga.com - // e que esse comprovante seja válido por 20 dias - - if($_SERVER['HTTP_ORIGIN'] == "http://arunranga.com") { - header('Access-Control-Allow-Origin: http://arunranga.com'); - header('Access-Control-Allow-Methods: POST, GET, OPTIONS'); - header('Access-Control-Allow-Headers: X-PINGARUNER'); - header('Access-Control-Max-Age: 1728000'); - header("Content-Length: 0"); - header("Content-Type: text/plain"); - //exit(0); - } else { - header("HTTP/1.1 403 Access Forbidden"); - header("Content-Type: text/plain"); - echo "You cannot repeat this request"; - } - -} elseif($_SERVER['REQUEST_METHOD'] == "POST") { - // Manipula o post primeiro obtendo o blob XML POST - // e, em seguida, fazendo algo e enviando resultados para o cliente - - if($_SERVER['HTTP_ORIGIN'] == "http://arunranga.com") { - $postData = file_get_contents('php://input'); - $document = simplexml_load_string($postData); - - // Faça algo com os dados POST - - $ping = $_SERVER['HTTP_X_PINGARUNER']; - - header('Access-Control-Allow-Origin: http://arunranga.com'); - header('Content-Type: text/plain'); - echo // some string response after processing - } else { - die("POSTing Only Allowed from arunranga.com"); - } -} else { - die("No Other Methods Allowed"); -} -?> -</pre> - -<p><font><font>Observe os cabeçalhos apropriados sendo enviados de volta em resposta à </font></font><a href="/pt-BR/docs/Web/HTTP/Methods/OPTIONS" title="O método HTTP OPTIONS é usado para descrever as opções de comunicação para o recurso de destino. O cliente pode especificar uma URL para o método OPTIONS ou um asterisco (*) para se referir a todo o servidor."><code>OPTIONS</code></a><font><font> comprovação, bem como aos </font></font><a href="/pt-BR/docs/Web/HTTP/Methods/POST" title="O método HTTP POST envia dados para o servidor. O tipo do corpo da solicitação é indicado pelo cabeçalho Content-Type."><code>POST</code></a><font><font> dados. </font><font>Um recurso lida com a comprovação e com a solicitação real. </font><font>Na resposta à </font></font><code>OPTIONS</code><font><font> solicitação, o servidor notifica o cliente de que a solicitação real pode realmente ser feita com o </font></font><code>POST</code><font><font> método e campos de cabeçalho como </font></font><code>X-PINGARUNER</code><font><font>podem ser enviados com a solicitação real. </font><font>Este exemplo pode ser </font></font><a class="external" href="http://arunranga.com/examples/access-control/" rel="noopener"><font><font>visto em execução aqui</font></font></a><font><font> .</font></font></p> - -<h2 id="Solicitações_credenciadas"><font><font>Solicitações credenciadas</font></font></h2> - -<p><a class="internal" href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS#Requests_with_credentials"><font><font>Solicitações de controle de acesso credenciadas</font></font></a><font><font> - ou seja, solicitações acompanhadas de informações sobre </font></font><a href="/pt-BR/docs/Web/HTTP/Cookies"><font><font>cookies</font></font></a><font><font> ou autenticação HTTP (e que esperam que os cookies sejam enviados com respostas) - podem ser </font></font><a class="internal" href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS#Simple_requests"><font><font>simples</font></font></a><font><font> ou </font></font><a class="internal" href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS#Preflighted_requests"><font><font>comprovadas</font></font></a><font><font> , dependendo dos métodos de solicitação utilizados.</font></font></p> - -<p><font><font>Em um </font><font>cenário de </font></font><a class="internal" href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS#Simple_requests"><font><font>solicitação simples</font></font></a><font><font> , a solicitação será enviada com cookies (por exemplo, se o </font></font><code><a href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials&usg=ALkJrhgvgswWP53yIsn9CbNdLjlz6qnTuw">withCredentials</a></code><font><font> sinalizador estiver ativado </font></font><a href="/pt-BR/docs/Web/API/XMLHttpRequest" title="Use objetos XMLHttpRequest (XHR) para interagir com servidores. Você pode recuperar dados de um URL sem precisar atualizar a página inteira. Isso permite que uma página da Web atualize apenas parte de uma página sem interromper o que o usuário está fazendo."><code>XMLHttpRequest</code></a><font><font>). </font><font>Se o servidor responder com </font><font>anexado à resposta credenciada, a resposta será aceita pelo cliente e exposta ao conteúdo da web. </font><font>Em uma </font><a class="internal" href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS#Preflighted_requests"><font>solicitação comprovada</font></a><font> , </font></font>Se o servidor responder com <code><a href="/pt-BR/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials">Access-Control-Allow-Credentials</a>: true</code> anexado à resposta credenciada, a resposta será aceita pelo cliente e exposta ao conteúdo da Web. Em uma Solicitação Comprovada, o servidor pode responder com <code>Acesso-Controle-Permitir Credenciais: true</code> à solicitação <code>OPTIONS</code>.</p> - -<p><font><font>Aqui está um PHP que lida com solicitações credenciadas:</font></font></p> - -<pre class="brush: php"><?php - -if($_SERVER['REQUEST_METHOD'] == "GET") { - header('Access-Control-Allow-Origin: http://arunranga.com'); - header('Access-Control-Allow-Credentials: true'); - header('Cache-Control: no-cache'); - header('Pragma: no-cache'); - header('Content-Type: text/plain'); - - // Primeiro, veja se existe um cookie - if (!isset($_COOKIE["pageAccess"])) { - setcookie("pageAccess", 1, time()+2592000); - echo 'I do not know you or anyone like you so I am going to'; - echo 'mark you with a Cookie :-)'; - } else { - $accesses = $_COOKIE['pageAccess']; - setcookie('pageAccess', ++$accesses, time()+2592000); - echo 'Hello -- I know you or something a lot like you!'; - echo 'You have been to ', $_SERVER['SERVER_NAME'], '; - echo 'at least ', $accesses-1, ' time(s) before!'; - } -} elseif($_SERVER['REQUEST_METHOD'] == "OPTIONS") { - // Diga ao cliente que esse comprovante permanece válido por apenas 20 dias - if($_SERVER['HTTP_ORIGIN'] == "http://arunranga.com") { - header('Access-Control-Allow-Origin: http://arunranga.com'); - header('Access-Control-Allow-Methods: GET, OPTIONS'); - header('Access-Control-Allow-Credentials: true'); - header('Access-Control-Max-Age: 1728000'); - header("Content-Length: 0"); - header("Content-Type: text/plain"); - } else { - header("HTTP/1.1 403 Access Forbidden"); - header("Content-Type: text/plain"); - echo "You cannot repeat this request"; - } -} else { - die("This HTTP Resource can ONLY be accessed with GET or OPTIONS"); -} -?> -</pre> - -<p><font><font>Observe que, no caso de solicitações credenciadas, o </font></font><code>Access-Control-Allow-Origin:</code><font><font> cabeçalho </font></font><strong><font><font>não deve</font></font></strong><font><font> ter um valor curinga de <strong>"*"</strong>. </font><font>Ele </font></font><strong><font><font>deve</font></font></strong><font><font> mencionar um domínio de origem válido. </font><font>O exemplo acima pode ser visto em </font></font><a class="external" href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=http://arunranga.com/examples/access-control/&usg=ALkJrhgk6_MrqOBSrD829megYQb7ZI8x5w" rel="noopener"><font><font>execução aqui</font></font></a><font><font> .</font></font></p> - -<h2 id="Exemplos_do_Apache"><font><font>Exemplos do Apache</font></font></h2> - -<h3 id="Restringir_o_acesso_a_determinados_URIs"><font><font>Restringir o acesso a determinados URIs</font></font></h3> - -<p><font><font>Um truque útil é usar uma reescrita do Apache, variável de ambiente e cabeçalhos para aplicar </font></font><code>Access-Control-Allow-*</code><font><font>a determinados URIs. </font><font>Isso é útil, por exemplo, para restringir solicitações de origem cruzada a </font></font><code>GET /api(.*).json</code><font><font>solicitações sem credenciais:</font></font></p> - -<pre>RewriteRule ^/api(.*)\.json$ /api$1.json [CORS=True] -Header set Access-Control-Allow-Origin "*" env=CORS -Header set Access-Control-Allow-Methods "GET" env=CORS -Header set Access-Control-Allow-Credentials "false" env=CORS -</pre> - -<h2 id="Veja_também"><font><font>Veja também</font></font></h2> - -<ul> - <li><a class="external" href="https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=en&sp=nmt4&tl=pt&u=http://arunranga.com/examples/access-control/&usg=ALkJrhgk6_MrqOBSrD829megYQb7ZI8x5w" rel="noopener"><font><font>Exemplos de controle de acesso em ação</font></font></a></li> - <li><a class="external" href="https://github.com/jackblackevo/cors-jsonp-sample" rel="noopener"><font><font>Amostra do lado do cliente e do lado do servidor (Java) para compartilhamento de recursos de origem cruzada (CORS)</font></font></a></li> - <li><a class="internal" href="/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS"><font><font>Controle de acesso HTTP cobrindo os cabeçalhos HTTP</font></font></a></li> - <li><a href="/pt-BR/docs/Web/API/XMLHttpRequest" title="Use objetos XMLHttpRequest (XHR) para interagir com servidores. Você pode recuperar dados de um URL sem precisar atualizar a página inteira. Isso permite que uma página da Web atualize apenas parte de uma página sem interromper o que o usuário está fazendo."><code>XMLHttpRequest</code></a></li> - <li><a href="/pt-BR/docs/Web/API/Fetch_API"><font><font>Fetch API</font></font></a></li> -</ul> |