networked programs while many of the examples in this book have focused on reading files and looking for data in those filesthere are many different sources of information when one considers the internet in this we will pretend to be web browser and retrieve web pages using the hypertext transfer protocol (httpthen we will read through the web page data and parse it hypertext transfer protocol http the network protocol that powers the web is actually quite simple and there is built-in support in python called socket which makes it very easy to make network connections and retrieve data over those sockets in python program socket is much like fileexcept that single socket provides two-way connection between two programs you can both read from and write to the same socket if you write something to socketit is sent to the application at the other end of the socket if you read from the socketyou are given the data which the other application has sent but if you try to read socket when the program on the other end of the socket has not sent any datayou just sit and wait if the programs on both ends of the socket simply wait for some data without sending anythingthey will wait for very long timeso an important part of programs that communicate over the internet is to have some sort of protocol protocol is set of precise rules that determine who is to go firstwhat they are to doand then what the responses are to that messageand who sends nextand so on in sense the two applications at either end of the socket are doing dance and making sure not to step on each other' toes there are many documents that describe these network protocols the hypertext transfer protocol is described in the following document