1 00:00:00,760 --> 00:00:04,490 Now you might be asking yourself, why do we need a set of rules for 2 00:00:04,490 --> 00:00:06,640 two devices to talk to each other? 3 00:00:06,640 --> 00:00:08,260 Aren't rules limiting? 4 00:00:08,260 --> 00:00:12,480 Well, think about the way we hold phone conversations with family or friends. 5 00:00:12,480 --> 00:00:17,880 The nature of your conversations probably varies widely from making dinner plans to 6 00:00:17,880 --> 00:00:21,610 expressing sympathy from a loss, to catching up after a year or 7 00:00:21,610 --> 00:00:23,290 two of losing touch. 8 00:00:23,290 --> 00:00:28,260 However, all of these conversations probably follow a set of conventions. 9 00:00:28,260 --> 00:00:30,440 First, there's some sort of greeting. 10 00:00:30,440 --> 00:00:31,510 Hello? 11 00:00:31,510 --> 00:00:33,320 Hi Courtney, this is Chris. 12 00:00:33,320 --> 00:00:35,200 Or some variation of that. 13 00:00:35,200 --> 00:00:37,790 What follows is a series of comments and sequence. 14 00:00:37,790 --> 00:00:41,180 As in, one person talks, then the other, but 15 00:00:41,180 --> 00:00:44,510 never at the same time where neither person is heard by the other. 16 00:00:44,510 --> 00:00:48,812 And if a question is asked, well, a response quickly follows. 17 00:00:48,812 --> 00:00:53,160 Unless there's no response, which can be unexpected or just plain awkward. 18 00:00:53,160 --> 00:00:57,850 Both people know the conversation is over when each person says, goodbye or 19 00:00:57,850 --> 00:00:58,530 talk to you soon. 20 00:00:59,720 --> 00:01:02,370 Communication between devices over the internet is not 21 00:01:02,370 --> 00:01:04,340 unlike spoken language over the phone. 22 00:01:04,340 --> 00:01:08,280 Except that there are even more rules, to make sure machines don't end up 23 00:01:08,280 --> 00:01:11,900 guessing what question was asked or what answer was given. 24 00:01:11,900 --> 00:01:15,300 You might equate this rigid communication environment to a court room. 25 00:01:15,300 --> 00:01:18,990 Where the judge won't response to an attorney shouting, hey or 26 00:01:18,990 --> 00:01:22,960 no you didn't, but would respond to a simple objection. 27 00:01:24,100 --> 00:01:27,990 Likewise, in internet communication word choice matters. 28 00:01:29,250 --> 00:01:31,050 If the internet was going to be successful, 29 00:01:31,050 --> 00:01:34,350 it required a set of standards for device communication. 30 00:01:34,350 --> 00:01:38,710 That is, communication between the devices that contain the information and 31 00:01:38,710 --> 00:01:41,400 the devices that wish to interact with it. 32 00:01:41,400 --> 00:01:45,910 So, when Tim Berners-Lee and his team proposed the World Wide Web project 33 00:01:45,910 --> 00:01:50,270 in 1989, what soon followed was the first published version of HTTP. 34 00:01:50,270 --> 00:01:53,996 This was HTTP 0.9 in 1991. 35 00:01:53,996 --> 00:01:58,770 The HyperText Transfer Protocol is the setup rules that 36 00:01:58,770 --> 00:02:01,830 governs the messaging between devices over the Internet. 37 00:02:01,830 --> 00:02:07,590 It functions mainly as a request-response cycle between a client and a server. 38 00:02:07,590 --> 00:02:11,880 That is, a client makes a request and a server responds. 39 00:02:11,880 --> 00:02:15,570 Examples of clients are a web browser, such as Chrome or Safari, 40 00:02:15,570 --> 00:02:19,268 a native mobile app on iOS or Android like the Facebook app on your phone. 41 00:02:19,268 --> 00:02:23,850 Or even a in a desktop weather application like one written in JavaFX. 42 00:02:23,850 --> 00:02:28,228 The main example of a server is a web server such as Apache, 43 00:02:28,228 --> 00:02:33,050 Nginx and Node.js server or even a Java enabled web server like Tomcat. 44 00:02:34,180 --> 00:02:37,020 After a quick break let's see HTTP in action 45 00:02:37,020 --> 00:02:40,010 using a simple text-based tool called Telnet.