0:00:02.719,0:00:07.360 Mạng Internet: HTTP và HTML 0:00:07.360,0:00:11.740 Tôi là Jasmine và tôi là một quản lý chương trình của trong đội ngũ kỹ thuật XBOX ONE 0:00:11.759,0:00:18.700 XBOX Live là một trong những tính năng lớn nhất của chúng tôi. Nó là một dịch vụ trực tuyến kết nối 0:00:18.700,0:00:24.099 các game thủ từ mọi nơi trên thế giới, chúng tôi phải dựa vào internet để thực hiện điều đó. 0:00:24.099,0:00:30.500 Đây không phải là công việc dễ dàng và có rất nhiều khó khăn xảy ra phía sau. 0:00:30.500,0:00:36.280 Internet đã thay đổi toàn bộ cách mọi người tương tác và kết nối với nhau. Nhưng làm cách nào mà nó hoạt động nó hoạt động như thế nào? 0:00:36.280,0:00:43.489 Làm thế nào để những máy tính trên toàn thế giới thực sự giao tiếp được với nhau ? Lấy trình duyệt web làm ví dụ. 0:00:43.489,0:00:50.199 Đầu tiên, bạn mở một trình duyệt web. Đó là ứng dụng để bạn dùng để truy cập vào các trang web. 0:00:50.199,0:00:55.899 Tiếp theo, bạn nhập vào địa chỉ trang web, hoặc URL (Uniform Resource Locator) của trang web 0:00:55.899,0:01:06.810 mà bạn truy cập ví dụ như Tumblr.com ![br]Xin chào, tôi là David Karp, người sáng lập của Tumblr 0:01:06.810,0:01:12.560 tôi ở đây hôm nay để nói về cách những trình duyệt chúng ta sử dụng hàng ngày hoạt động. Vì vậy, bạn có thể thắc mắc 0:01:12.560,0:01:16.350 xem điều gì thật sự xảy ra khi bạn nhập một địa chỉ vào trình duyệt web của bạn và sau đó nhấn Enter 0:01:16.350,0:01:21.020 Điều này điên rồ đến mức bạn chỉ có thể tưởng tượng mà thôi. Bởi vì, trong lúc bạn nhấn Enter 0:01:21.020,0:01:25.930 thì máy tính bắt đầu nói chuyện với một máy tính khác, được gọi là máy chủ ở cách xa nó hàng ngàn dặm 0:01:25.930,0:01:32.450 Chỉ trong vài mili giây, máy tính của bạn gửi yêu cầu lên máy chủ 0:01:32.450,0:01:39.530 máy chủ sẽ tương tác lại với máy tính của bạn thông qua giao thức HTTP (HyperText Transfer Protocol) 0:01:39.530,0:01:43.680 bạn có thể hiểu rằng HTTP giống như một ngôn ngữ giao tiếp mà máy tính của bạn 0:01:43.680,0:01:48.009 và máy chủ sử dụng để trao đổi thông tin với nhau một cách trực tiếp. 0:01:48.009,0:01:52.540 Nếu bạn theo dõi việc giao tiếp giữa máy tính của bạn và máy chủ web trên internet 0:01:52.540,0:01:56.670 thì bạn sẽ thấy nó sẽ tạo ra một yêu cầu “GET”. 0:01:56.670,0:02:01.590 Trong yêu cầu GET đơn giản à sẽ có chữ GET và tên của thông tin mà bạn đang yêu cầu 0:02:01.590,0:02:06.360 Bởi vậy, nếu bạn muốn đăng nhập vào Tumblr bạn sẽ tải trang đăng nhập của chúng tôi 0:02:06.360,0:02:14.290 bạn sẽ gửi một yêu cầu GET / login (đăng nhập) đến máy chủ của Tumblr, Máy chủ sẽ xác nhận yêu cầu và sẽ gửi về cho bạn tất cả các mã HTML 0:02:14.290,0:02:21.800 của trang đăng nhập. HTML là viết tắt của HyperText Markup Language 0:02:21.800,0:02:26.470 Bạn có thể hiểu HTML như một ngôn ngữ để hiển thị nội dung trang web. 0:02:26.470,0:02:30.540 Ví dụ như nếu bạn nghĩ đến Wikipedia như một khối tài liệu khổng lồ 0:02:30.540,0:02:35.630 và bạn có thể sử dụng ngôn ngữ HTML để định dạng phông chữ lớn và in đậm cho tiêu đề 0:02:35.630,0:02:42.690 định dạng đúng kiểu phông chữ, liên kết 1 số chữ ở trang này với một trang khác, in đậm 0:02:42.690,0:02:46.740 hoặc in nghiêng một số chữ, đặt vị trí của một bức ảnh ở giữa hoặc sang bên phải hay bên trái trang 0:02:46.740,0:02:52.990 Toàn bộ văn bản của một trang web sẽ nằm trực tiếp trong HTML 0:02:52.990,0:02:58.380 nhưng các phần khác như hình ảnh, video là các tệp riêng biệt với những URL riêng của chúng. 0:02:58.380,0:03:04.540 Trình duyệt sẽ gửi các yêu cầu riêng biệt cho từng trang và hiển thị khi máy chủ trả về. 0:03:04.540,0:03:11.670 Nếu một trang web có nhiều hình ảnh khác nhau thì mỗi hình ảnh sẽ cần một 0:03:11.670,0:03:20.780 yêu cầu HTTP riêng dẫn đến việc tốc độ tải trang web chậm hơn. Đôi khi bạn duyệt trang web, 0:03:20.780,0:03:25.880 bạn không chỉ sử dụng một yêu cầu GET, khi bạn muốn gửi thông tin 0:03:25.880,0:03:32.300 mà bạn nhập vào một biểu mẫu hoặc bạn nhập một truy vấn tìm kiếm. Trình duyệt của bạn sẽ gửi thông tin này bằng văn bản thuần 0:03:32.300,0:03:39.090 đến máy chủ web bằng một yêu cầu HTTP POST. Bạn hãy tiến hành đăng nhập vào Tumblr 0:03:39.090,0:03:45.360 điều đầu tiên bạn làm là bạn tạo một yêu cầu POST, đó là một POST để trang đăng nhập của Tumblr bao gồm: 0:03:45.360,0:03:49.680 một số dữ liệu kèm theo nó bao gồm địa chỉ email và mật khẩu của bạn sẽ đi đến máy chủ của Tumblr. 0:03:49.680,0:03:55.350 Sau đó nó sẽ thực hiện việc xác nhận dữ liệu bạn gửi lên có đúng không ví dụ bạn là David 0:03:55.350,0:04:00.480 thì nó sẽ gửi trả về máy tính của bạn một trang web với thông báo, Thành công! David đã đăng nhập, 0:04:00.480,0:04:07.000 nhưng cùng với đó, nó sẽ tạo ra một cookie ẩn để lưu lại thông tin đăng nhập của bạn. 0:04:07.000,0:04:11.360 Điều này rất quan trọng vì đó là cách duy nhất mà một trang web có thể biết bạn là ai. 0:04:11.360,0:04:16.940 Tất cả những thông tin được lưu trong cookie đóng vai trò như một thẻ căn cước của bạn trên trang web Tumblr, nó sẽ là một số ID 0:04:16.940,0:04:21.790 xác định bạn là David, Và trình duyệt của bạn sẽ giữ số ID đó cho những lần sau. 0:04:21.790,0:04:26.660 Bạn tải lại trang Tumblr, trong lần sau khi bạn vào Tumblr.com, trình duyệt sẽ tự động đính kèm số ID đó 0:04:26.660,0:04:30.930 với yêu cầu để gửi tới các máy chủ của Tumblr 0:04:30.930,0:04:35.970 Sau đó máy chủ của Tumblr sẽ thấy yêu cầu đến từ trình duyệt của bạn, xác nhận số ID 0:04:35.970,0:04:43.940 và biết “OK, đây là một yêu cầu từ David” [br]Bây giờ, internet đã hoàn toàn mở 0:04:43.940,0:04:49.350 tất cả các kết nối được chia sẻ và thông tin được gửi bằng văn bản thuần túy. Điều này tạo cơ hội 0:04:49.350,0:04:55.630 cho các tin tặc ăn trộm bất kỳ thông tin nào bạn gửi qua internet. Nhưng trang web an toàn 0:04:55.630,0:05:00.970 có thể ngăn chặn vấn đề này bằng cách yêu cầu trình duyệt web của bạn gửi thông tin qua một kênh an toàn 0:05:00.970,0:05:07.630 bằng cách sử dụng Secure Sockets Layer (SSL) và Transport Layer Security (TLS). 0:05:07.630,0:05:14.000 Bạn có thể coi SSL và TLS như một lớp bảo mật bao quanh việc truyển tải thông tin của bạn 0:05:14.000,0:05:20.530 để ngăn chặn việc đánh cắp hoặc giả mạo. SSL và TLS có hiệu lực khi bạn nhìn thấy hình một cái khóa nhỏ 0:05:20.530,0:05:27.440 nhỏ trong thanh địa chỉ của trình duyệt bên cạnh chữ HTTPS. Các giao thức HTTPS đảm bảo 0:05:27.440,0:05:33.840 yêu cầu HTTP của bạn được bảo mật và bảo vệ. 0:05:33.840,0:05:39.500 Khi một trang web yêu cầu trang web của bạn ở chế độ kết nối an toàn, đầu tiên nó sẽ cung cấp một chứng chỉ số. 0:05:39.500,0:05:45.140 Giống như một thẻ chứng minh chính thức chứng minh rằng đó là trang web được kết nối bằng giao thức HTTPS 0:05:45.140,0:05:49.900 Giấy chứng nhận số được các tổ chức phát hành để xác minh sự đáng tin cậy 0:05:49.900,0:05:55.280 giống như việc nhà nước cấp chứng minh thư và hộ chiếu. 0:05:55.280,0:06:01.030 Bây giờ nếu một trang web cố gắng để bắt đầu một kết nối an toàn mà không cấn có 0:06:01.030,0:06:09.590 chứng nhận số, trình duyệt sẽ cảnh báo bạn. Trên đây là những điều cơ bản của trình duyệt web. 0:06:09.590,0:06:17.010 Một phần của internet mà chúng ta thấy hàng ngày. Nói tóm lại thì HTTP và DNS sẽ quản lý việc gửi 0:06:17.010,0:06:23.450 và nhận mã HTML, các tệp tin media hay bất cứ cái gì trên một trang web. Việc gửi nhận dữ liệu bằng 0:06:23.450,0:06:30.370 giao thức TCP/IP qua các đường dẫn chia nhỏ và truyền thông tin theo từng gói nhỏ. 0:06:30.370,0:06:36.670 Những gói tin đó sẽ được tạo ra dưới dạng nhị phân là chuỗi các số 1 và 0 0:06:36.670,0:06:42.550 và được truyền qua hệ thống cáp quang, cáp đồng hoặc qua mạng không dây. 0:06:42.550,0:06:47.440 May mắn là khi ban học được cách mà một tầng của mạng internet hoạt động thì bạn có thể dựa vào đó 0:06:47.440,0:06:52.070 mà không cần phải nhớ tất cả các thông tin chi tiết. Và bạn có thể tin rằng tất cả các tầng này sẽ hoạt động 0:06:52.070,0:06:59.090 với nhau để truyền thông tin một cách thành công với quy mô và độ tin cậy nhất định.