The browser makes an HTTP GET request for the search page
The server responds with the HTML content. Note that we are not showing browser requests for other page resources such as image, CSS, or JavaScript files
The user types in a search term and clicks the submit button (or presses "enter")
A JavaScript event handler is triggered on the form submit, and JavaScript sends an HTTP request via the browser to the server. This HTTP request contains the search term typed in by the user as a parameter sent to the server
A program on the server searches the course database for any courses that contain the search term.
The program (via the web server) returns the matching courses in a data format to the browser
The browser receives the data, hands it off to the JavaScript, and the JavaScript formats the data into HTML and updates the search area on the page