1 00:00:00,005 --> 00:00:04,000 - [Instructor] Hypertext Transfer Protocol or HTTP 2 00:00:04,000 --> 00:00:07,007 is heavily used on the internet for standard web browsing. 3 00:00:07,007 --> 00:00:11,007 HTTP traditionally runs on TCP port 80. 4 00:00:11,007 --> 00:00:15,003 The ports can be changed for security or testing purposes, 5 00:00:15,003 --> 00:00:17,005 but all browsers will natively attempt 6 00:00:17,005 --> 00:00:18,009 to connect on port 80. 7 00:00:18,009 --> 00:00:21,006 HTTP is a plaintext protocol 8 00:00:21,006 --> 00:00:23,007 designed to transfer a hypertext. 9 00:00:23,007 --> 00:00:27,005 Its first RFC was ratified in 1997. 10 00:00:27,005 --> 00:00:30,001 HTTP functions in a client/server 11 00:00:30,001 --> 00:00:32,002 request and response method. 12 00:00:32,002 --> 00:00:34,004 Generally, a client opens a browser 13 00:00:34,004 --> 00:00:37,002 and makes an HTTP request to a web server. 14 00:00:37,002 --> 00:00:40,002 The server will comply by providing whatever resources 15 00:00:40,002 --> 00:00:45,005 were requested, be it HTML, an image, and so on. 16 00:00:45,005 --> 00:00:48,008 Any application that accesses web content in any way 17 00:00:48,008 --> 00:00:50,004 is called a user agent. 18 00:00:50,004 --> 00:00:52,007 This could be a browser, a mobile app, 19 00:00:52,007 --> 00:00:56,000 or a search engine indexing service. 20 00:00:56,000 --> 00:00:58,002 HTTP resources are located 21 00:00:58,002 --> 00:01:01,007 via Uniform Resource Locators or URLs. 22 00:01:01,007 --> 00:01:04,008 When requesting resources, a single connection can be used 23 00:01:04,008 --> 00:01:07,007 to transfer images, scripts, et cetera, 24 00:01:07,007 --> 00:01:11,000 which causes less latency for the transfer overall. 25 00:01:11,000 --> 00:01:14,008 HTTP provides several challenge response mechanisms 26 00:01:14,008 --> 00:01:16,007 to provide authentication. 27 00:01:16,007 --> 00:01:19,006 It can also employ authentication realms. 28 00:01:19,006 --> 00:01:21,006 This allows an authenticated user 29 00:01:21,006 --> 00:01:24,002 access to various authentication scopes 30 00:01:24,002 --> 00:01:26,002 under a single URL root. 31 00:01:26,002 --> 00:01:28,006 HTTP has several request methods 32 00:01:28,006 --> 00:01:31,006 that will perform different actions on the web server. 33 00:01:31,006 --> 00:01:34,002 The get method is used to retrieve data. 34 00:01:34,002 --> 00:01:36,003 The head method is identical to get, 35 00:01:36,003 --> 00:01:38,006 but doesn't include the response body. 36 00:01:38,006 --> 00:01:41,002 The post method accepts some action 37 00:01:41,002 --> 00:01:43,005 or information from the client. 38 00:01:43,005 --> 00:01:45,002 This would be submitting a form 39 00:01:45,002 --> 00:01:47,002 or creating a post on a forum. 40 00:01:47,002 --> 00:01:49,006 The first line of an HTTP response 41 00:01:49,006 --> 00:01:51,002 is known as the status line 42 00:01:51,002 --> 00:01:53,002 and includes a numbered status code 43 00:01:53,002 --> 00:01:55,004 and a text-based reason phrase. 44 00:01:55,004 --> 00:01:59,009 This could be something like Status 404: Reason not found. 45 00:01:59,009 --> 00:02:01,004 They come in five flavors: 46 00:02:01,004 --> 00:02:06,004 informational, successful, redirection, client error, 47 00:02:06,004 --> 00:02:08,002 and server error. 48 00:02:08,002 --> 00:02:14,000 HTTP/2 was first published as RFC 7540 in 2015. 49 00:02:14,000 --> 00:02:18,003 In 2021, more than 50% of the top 10 million websites 50 00:02:18,003 --> 00:02:19,005 support the protocol 51 00:02:19,005 --> 00:02:22,000 and most major web browsers supported the protocol 52 00:02:22,000 --> 00:02:24,000 by the end of 2015. 53 00:02:24,000 --> 00:02:28,002 The protocol has backwards compatibility with HTTP/1.1 54 00:02:28,002 --> 00:02:31,001 and decreases latency via several optimizations 55 00:02:31,001 --> 00:02:32,007 and new techniques. 56 00:02:32,007 --> 00:02:36,005 HTTP/3 became an internet draft in 2021 57 00:02:36,005 --> 00:02:41,003 with default support in many major web browsers as of 2020. 58 00:02:41,003 --> 00:02:44,000 HTTP/3 switches to the transport layer 59 00:02:44,000 --> 00:02:45,007 network protocol quick, 60 00:02:45,007 --> 00:02:48,009 which does delivery over UDP instead of TCP 61 00:02:48,009 --> 00:02:51,004 to provide even more efficiencies. 62 00:02:51,004 --> 00:02:55,001 HTTP is a core component of any internet connection. 63 00:02:55,001 --> 00:02:57,009 And with the rise of hosted browser-based services, 64 00:02:57,009 --> 00:03:00,000 it has become essential.