Depending on the particular implementation, a search box may be accompanied by a
drop-down list to present the users with past searches or
search suggestions. Search boxes may have other features to help the user, such as
autocomplete, search suggestions, a
spelling checker, etc. Search boxes are often also accompanied by drop-down menus or other input controls to allow the user to restrict the search or choose what type of content to search for. In some cases, while users input search strings, the results of that string would also present on the content area updating in real time. However, if the page chooses this way to show results to users, the loading time is slower and may cause unresponsiveness or browser crashes. Hence, it is not recommended for small and medium-sized websites. Modern search box implementations make use of persistent connections to achieve both low-latency search experience and bandwidth improvement. However, for large, search-intensive web applications, a scalable server being able to handle a high number of concurrent persistent connections is needed. Such servers already exist. For example, a single instance of the
WebSocket server provided by MigratoryData could handle 240,000 autocomplete requests per second from 1 million concurrent users with a mean round-trip latency of 11.82
milliseconds.{{cite web|url=http://highscalability.com/blog/2016/12/13/a-scalable-alternative-to-restful-communication-mimicking-go.html|title=A Scalable Alternative To Restful Communication: Mimicking Google’s Search Autocomplete With A Single Migratorydata Server == See also ==