{"action":"created","comment":{"url":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/comments/43493678","id":43493678,"diff_hunk":"@@ -111,36 +107,37 @@ Content-type: application/x-www-form-urlencoded\n name=Jean&message=Yes%3F\n ```\n \n-Por convenção, o método GET é usado para 'requests' que não possuem efeitos colateriais, como ao fazer pesquisas.'Requests' que mudam algo no servidor, como aqueles que criam uma nova conta ou postam uma mensagem, devem ser expressados com outros métodos, como o POST. Softwares do lado do cliente, como navegadores, sabem que não devem fazer 'requests' POST cegamente, mas farão, implicitamente, 'requests' GET para, por exemplo, pré-carregar recursos que acreditam ser necessários no curto-prazo.\n+Por convenção, o método `GET` é usado para requisições que não produzem efeitos colaterais, tais como fazer uma pesquisa. Requisições que alteram alguma coisa no servidor, como criar uma nova conta ou postar uma nova mensagem, devem ser expressadas usando outros métodos, como `POST`. Aplicações _client-side_, como os navegadores, sabem que não devem fazer requisições `POST` cegamente, mas frequentemente farão requisições `GET` implícitas para, por exemplo, pré-carregar um recurso que ele acredita que o usuário irá precisar no curto-prazo.\n \n-O próximo capítulo irá retornar a formulários e irá abordar como nós podemos desenvolve-los com JavaScript.\n+O [próximo capítulo](./18-formularios-e-campos-de-formularios.md) irá retomar o assunto formulários e explicará como podemos desenvolve-los usando JavaScript.\n \n-###XMLHttpRequest\n+## XMLHttpRequest\n \n-A interface através da qual o Javascript pode fazer requisições HTTP é chamada <i>XMLHttpRequest</i> (note a capitalização inconsistente). Ela foi elaborada pela Microsoft, para seu browser Internet Explorer, no final da decada de 90. Naquele tempo, o formato de arquivo XML era muito popular no mundo de softwares corporativos, um mundo no qual a Microsoft se sentia em casa. De fato, tal formato era tão popular que o acrônimo XML foi acrescentado no inicio do nome de uma interface para HTTP, a qual não tinha nenhuma relação com o XMh\n+A interface pela qual o JavaScript do navegador pode fazer requisições HTTP é chamada de `XMLHttpRequest` (observe a forma inconsistente de capitalização). Ela foi elaborada pela Microsoft, para o seu navegador Internet Explorer, no final dos anos 90. Naquela época, o formato de arquivo XML era _muito_ popular no contexto dos softwares corporativos, um mundo no qual sempre foi a casa da Microsoft. O formato era tão popular que o acrônimo XML foi adicionado ao início do nome de uma interface para o HTTP, a qual não tinha nenhuma relação com o XML.\n \n-O nome não é completamente sem sentido, porém. A interface permite você analisar documentos de resposta como XML, caso queira. Misturar dois conceitos distintos (fazer a requisição e analizar a resposta) em uma unica coisa é uma terrível abordagem, naturalmente, mas aceitável.\n+Mesmo assim, o nome não é completamente sem sentido. A interface permite que você analise os documentos de resposta como XML se desejar. Combinar dois conceitos distintos (fazer uma requisição e analizar a resposta) em uma única coisa é com certeza um péssimo design.","path":"chapters/17-http.md","position":85,"original_position":85,"commit_id":"802524003f349a472ecad217b14a0aa713ba197d","original_commit_id":"802524003f349a472ecad217b14a0aa713ba197d","user":{"login":"joaostein","id":223414,"avatar_url":"https://avatars.githubusercontent.com/u/223414?v=3","gravatar_id":"","url":"https://api.github.com/users/joaostein","html_url":"https://github.com/joaostein","followers_url":"https://api.github.com/users/joaostein/followers","following_url":"https://api.github.com/users/joaostein/following{/other_user}","gists_url":"https://api.github.com/users/joaostein/gists{/gist_id}","starred_url":"https://api.github.com/users/joaostein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joaostein/subscriptions","organizations_url":"https://api.github.com/users/joaostein/orgs","repos_url":"https://api.github.com/users/joaostein/repos","events_url":"https://api.github.com/users/joaostein/events{/privacy}","received_events_url":"https://api.github.com/users/joaostein/received_events","type":"User","site_admin":false},"body":"como XML se desejar > como XML, caso queira.","created_at":"2015-10-30T11:45:38Z","updated_at":"2015-10-30T11:45:38Z","html_url":"https://github.com/braziljs/eloquente-javascript/pull/312#discussion_r43493678","pull_request_url":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/312","_links":{"self":{"href":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/comments/43493678"},"html":{"href":"https://github.com/braziljs/eloquente-javascript/pull/312#discussion_r43493678"},"pull_request":{"href":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/312"}}},"pull_request":{"url":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/312","id":49258248,"html_url":"https://github.com/braziljs/eloquente-javascript/pull/312","diff_url":"https://github.com/braziljs/eloquente-javascript/pull/312.diff","patch_url":"https://github.com/braziljs/eloquente-javascript/pull/312.patch","issue_url":"https://api.github.com/repos/braziljs/eloquente-javascript/issues/312","number":312,"state":"open","locked":false,"title":"Adiciona melhorias capítulo 17, até linha 158.","user":{"login":"joaostein","id":223414,"avatar_url":"https://avatars.githubusercontent.com/u/223414?v=3","gravatar_id":"","url":"https://api.github.com/users/joaostein","html_url":"https://github.com/joaostein","followers_url":"https://api.github.com/users/joaostein/followers","following_url":"https://api.github.com/users/joaostein/following{/other_user}","gists_url":"https://api.github.com/users/joaostein/gists{/gist_id}","starred_url":"https://api.github.com/users/joaostein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joaostein/subscriptions","organizations_url":"https://api.github.com/users/joaostein/orgs","repos_url":"https://api.github.com/users/joaostein/repos","events_url":"https://api.github.com/users/joaostein/events{/privacy}","received_events_url":"https://api.github.com/users/joaostein/received_events","type":"User","site_admin":false},"body":"#286 ","created_at":"2015-10-30T11:28:09Z","updated_at":"2015-10-30T11:45:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"30fedc1e78184ec01eb115c8344e8740f3f567e3","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/312/commits","review_comments_url":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/312/comments","review_comment_url":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/comments{/number}","comments_url":"https://api.github.com/repos/braziljs/eloquente-javascript/issues/312/comments","statuses_url":"https://api.github.com/repos/braziljs/eloquente-javascript/statuses/802524003f349a472ecad217b14a0aa713ba197d","head":{"label":"joaostein:cap17","ref":"cap17","sha":"802524003f349a472ecad217b14a0aa713ba197d","user":{"login":"joaostein","id":223414,"avatar_url":"https://avatars.githubusercontent.com/u/223414?v=3","gravatar_id":"","url":"https://api.github.com/users/joaostein","html_url":"https://github.com/joaostein","followers_url":"https://api.github.com/users/joaostein/followers","following_url":"https://api.github.com/users/joaostein/following{/other_user}","gists_url":"https://api.github.com/users/joaostein/gists{/gist_id}","starred_url":"https://api.github.com/users/joaostein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joaostein/subscriptions","organizations_url":"https://api.github.com/users/joaostein/orgs","repos_url":"https://api.github.com/users/joaostein/repos","events_url":"https://api.github.com/users/joaostein/events{/privacy}","received_events_url":"https://api.github.com/users/joaostein/received_events","type":"User","site_admin":false},"repo":{"id":29830386,"name":"eloquente-javascript","full_name":"joaostein/eloquente-javascript","owner":{"login":"joaostein","id":223414,"avatar_url":"https://avatars.githubusercontent.com/u/223414?v=3","gravatar_id":"","url":"https://api.github.com/users/joaostein","html_url":"https://github.com/joaostein","followers_url":"https://api.github.com/users/joaostein/followers","following_url":"https://api.github.com/users/joaostein/following{/other_user}","gists_url":"https://api.github.com/users/joaostein/gists{/gist_id}","starred_url":"https://api.github.com/users/joaostein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joaostein/subscriptions","organizations_url":"https://api.github.com/users/joaostein/orgs","repos_url":"https://api.github.com/users/joaostein/repos","events_url":"https://api.github.com/users/joaostein/events{/privacy}","received_events_url":"https://api.github.com/users/joaostein/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/joaostein/eloquente-javascript","description":"Tradução do livro \"Eloquent JavaScript\" 2ª edição, por Marijn Haverbeke","fork":true,"url":"https://api.github.com/repos/joaostein/eloquente-javascript","forks_url":"https://api.github.com/repos/joaostein/eloquente-javascript/forks","keys_url":"https://api.github.com/repos/joaostein/eloquente-javascript/keys{/key_id}","collaborators_url":"https://api.github.com/repos/joaostein/eloquente-javascript/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/joaostein/eloquente-javascript/teams","hooks_url":"https://api.github.com/repos/joaostein/eloquente-javascript/hooks","issue_events_url":"https://api.github.com/repos/joaostein/eloquente-javascript/issues/events{/number}","events_url":"https://api.github.com/repos/joaostein/eloquente-javascript/events","assignees_url":"https://api.github.com/repos/joaostein/eloquente-javascript/assignees{/user}","branches_url":"https://api.github.com/repos/joaostein/eloquente-javascript/branches{/branch}","tags_url":"https://api.github.com/repos/joaostein/eloquente-javascript/tags","blobs_url":"https://api.github.com/repos/joaostein/eloquente-javascript/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/joaostein/eloquente-javascript/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/joaostein/eloquente-javascript/git/refs{/sha}","trees_url":"https://api.github.com/repos/joaostein/eloquente-javascript/git/trees{/sha}","statuses_url":"https://api.github.com/repos/joaostein/eloquente-javascript/statuses/{sha}","languages_url":"https://api.github.com/repos/joaostein/eloquente-javascript/languages","stargazers_url":"https://api.github.com/repos/joaostein/eloquente-javascript/stargazers","contributors_url":"https://api.github.com/repos/joaostein/eloquente-javascript/contributors","subscribers_url":"https://api.github.com/repos/joaostein/eloquente-javascript/subscribers","subscription_url":"https://api.github.com/repos/joaostein/eloquente-javascript/subscription","commits_url":"https://api.github.com/repos/joaostein/eloquente-javascript/commits{/sha}","git_commits_url":"https://api.github.com/repos/joaostein/eloquente-javascript/git/commits{/sha}","comments_url":"https://api.github.com/repos/joaostein/eloquente-javascript/comments{/number}","issue_comment_url":"https://api.github.com/repos/joaostein/eloquente-javascript/issues/comments{/number}","contents_url":"https://api.github.com/repos/joaostein/eloquente-javascript/contents/{+path}","compare_url":"https://api.github.com/repos/joaostein/eloquente-javascript/compare/{base}...{head}","merges_url":"https://api.github.com/repos/joaostein/eloquente-javascript/merges","archive_url":"https://api.github.com/repos/joaostein/eloquente-javascript/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/joaostein/eloquente-javascript/downloads","issues_url":"https://api.github.com/repos/joaostein/eloquente-javascript/issues{/number}","pulls_url":"https://api.github.com/repos/joaostein/eloquente-javascript/pulls{/number}","milestones_url":"https://api.github.com/repos/joaostein/eloquente-javascript/milestones{/number}","notifications_url":"https://api.github.com/repos/joaostein/eloquente-javascript/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/joaostein/eloquente-javascript/labels{/name}","releases_url":"https://api.github.com/repos/joaostein/eloquente-javascript/releases{/id}","created_at":"2015-01-25T20:47:29Z","updated_at":"2015-01-24T01:54:18Z","pushed_at":"2015-10-30T11:27:07Z","git_url":"git://github.com/joaostein/eloquente-javascript.git","ssh_url":"git@github.com:joaostein/eloquente-javascript.git","clone_url":"https://github.com/joaostein/eloquente-javascript.git","svn_url":"https://github.com/joaostein/eloquente-javascript","homepage":null,"size":4801,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"braziljs:master","ref":"master","sha":"ac2e8dd0479c4f83464ca1a32bfa2e0e254b9c6e","user":{"login":"braziljs","id":1768161,"avatar_url":"https://avatars.githubusercontent.com/u/1768161?v=3","gravatar_id":"","url":"https://api.github.com/users/braziljs","html_url":"https://github.com/braziljs","followers_url":"https://api.github.com/users/braziljs/followers","following_url":"https://api.github.com/users/braziljs/following{/other_user}","gists_url":"https://api.github.com/users/braziljs/gists{/gist_id}","starred_url":"https://api.github.com/users/braziljs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/braziljs/subscriptions","organizations_url":"https://api.github.com/users/braziljs/orgs","repos_url":"https://api.github.com/users/braziljs/repos","events_url":"https://api.github.com/users/braziljs/events{/privacy}","received_events_url":"https://api.github.com/users/braziljs/received_events","type":"Organization","site_admin":false},"repo":{"id":15612322,"name":"eloquente-javascript","full_name":"braziljs/eloquente-javascript","owner":{"login":"braziljs","id":1768161,"avatar_url":"https://avatars.githubusercontent.com/u/1768161?v=3","gravatar_id":"","url":"https://api.github.com/users/braziljs","html_url":"https://github.com/braziljs","followers_url":"https://api.github.com/users/braziljs/followers","following_url":"https://api.github.com/users/braziljs/following{/other_user}","gists_url":"https://api.github.com/users/braziljs/gists{/gist_id}","starred_url":"https://api.github.com/users/braziljs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/braziljs/subscriptions","organizations_url":"https://api.github.com/users/braziljs/orgs","repos_url":"https://api.github.com/users/braziljs/repos","events_url":"https://api.github.com/users/braziljs/events{/privacy}","received_events_url":"https://api.github.com/users/braziljs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/braziljs/eloquente-javascript","description":"A portuguese translation of Eloquent JavaScript online book","fork":false,"url":"https://api.github.com/repos/braziljs/eloquente-javascript","forks_url":"https://api.github.com/repos/braziljs/eloquente-javascript/forks","keys_url":"https://api.github.com/repos/braziljs/eloquente-javascript/keys{/key_id}","collaborators_url":"https://api.github.com/repos/braziljs/eloquente-javascript/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/braziljs/eloquente-javascript/teams","hooks_url":"https://api.github.com/repos/braziljs/eloquente-javascript/hooks","issue_events_url":"https://api.github.com/repos/braziljs/eloquente-javascript/issues/events{/number}","events_url":"https://api.github.com/repos/braziljs/eloquente-javascript/events","assignees_url":"https://api.github.com/repos/braziljs/eloquente-javascript/assignees{/user}","branches_url":"https://api.github.com/repos/braziljs/eloquente-javascript/branches{/branch}","tags_url":"https://api.github.com/repos/braziljs/eloquente-javascript/tags","blobs_url":"https://api.github.com/repos/braziljs/eloquente-javascript/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/braziljs/eloquente-javascript/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/braziljs/eloquente-javascript/git/refs{/sha}","trees_url":"https://api.github.com/repos/braziljs/eloquente-javascript/git/trees{/sha}","statuses_url":"https://api.github.com/repos/braziljs/eloquente-javascript/statuses/{sha}","languages_url":"https://api.github.com/repos/braziljs/eloquente-javascript/languages","stargazers_url":"https://api.github.com/repos/braziljs/eloquente-javascript/stargazers","contributors_url":"https://api.github.com/repos/braziljs/eloquente-javascript/contributors","subscribers_url":"https://api.github.com/repos/braziljs/eloquente-javascript/subscribers","subscription_url":"https://api.github.com/repos/braziljs/eloquente-javascript/subscription","commits_url":"https://api.github.com/repos/braziljs/eloquente-javascript/commits{/sha}","git_commits_url":"https://api.github.com/repos/braziljs/eloquente-javascript/git/commits{/sha}","comments_url":"https://api.github.com/repos/braziljs/eloquente-javascript/comments{/number}","issue_comment_url":"https://api.github.com/repos/braziljs/eloquente-javascript/issues/comments{/number}","contents_url":"https://api.github.com/repos/braziljs/eloquente-javascript/contents/{+path}","compare_url":"https://api.github.com/repos/braziljs/eloquente-javascript/compare/{base}...{head}","merges_url":"https://api.github.com/repos/braziljs/eloquente-javascript/merges","archive_url":"https://api.github.com/repos/braziljs/eloquente-javascript/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/braziljs/eloquente-javascript/downloads","issues_url":"https://api.github.com/repos/braziljs/eloquente-javascript/issues{/number}","pulls_url":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls{/number}","milestones_url":"https://api.github.com/repos/braziljs/eloquente-javascript/milestones{/number}","notifications_url":"https://api.github.com/repos/braziljs/eloquente-javascript/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/braziljs/eloquente-javascript/labels{/name}","releases_url":"https://api.github.com/repos/braziljs/eloquente-javascript/releases{/id}","created_at":"2014-01-03T15:18:01Z","updated_at":"2015-10-29T14:42:31Z","pushed_at":"2015-10-30T11:28:10Z","git_url":"git://github.com/braziljs/eloquente-javascript.git","ssh_url":"git@github.com:braziljs/eloquente-javascript.git","clone_url":"https://github.com/braziljs/eloquente-javascript.git","svn_url":"https://github.com/braziljs/eloquente-javascript","homepage":"http://eloquentjavascript.com.br/","size":12058,"stargazers_count":289,"watchers_count":289,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":119,"mirror_url":null,"open_issues_count":20,"forks":119,"open_issues":20,"watchers":289,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/312"},"html":{"href":"https://github.com/braziljs/eloquente-javascript/pull/312"},"issue":{"href":"https://api.github.com/repos/braziljs/eloquente-javascript/issues/312"},"comments":{"href":"https://api.github.com/repos/braziljs/eloquente-javascript/issues/312/comments"},"review_comments":{"href":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/312/comments"},"review_comment":{"href":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/braziljs/eloquente-javascript/pulls/312/commits"},"statuses":{"href":"https://api.github.com/repos/braziljs/eloquente-javascript/statuses/802524003f349a472ecad217b14a0aa713ba197d"}}}}