Chapter 20. Scripting HTTP
The Hypertext Transfer Protocol (HTTP) specifies how web browsers request documents from and post form contents to web servers, and how web servers respond to those requests and posts. Web browsers obviously handle a lot of HTTP. Usually, however, HTTP is not under the control of scripts and instead occurs when the user clicks on a link, submits a form, or types a URL. Usually, but not always: it is possible for JavaScript code to script HTTP.
HTTP requests can be initiated when a script sets the location property of a window object or calls
the submit() method of a form object.
In both cases, the browser loads a new page into the window, overwriting
any script that was running there. This kind of trivial HTTP scripting
can be useful in a multiframed web page but is not the subject of this
chapter. Here we consider how JavaScript code can communicate with a web
server without causing the web browser to reload the currently displayed
page.
The <img>, <iframe>, and <script> tags have src properties. When a script sets these
properties to a URL, an HTTP GET request is initiated to download the
content of the URL. A script can therefore pass information to a web
server by encoding that information into the query-string portion of the
URL of an image and setting the src
property of an <img> element.
The web server must actually return some image as the result of this
request, but it can be invisible: a transparent 1-pixel-by-1-pixel
image, for instance.[*]
<iframe> ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access