Mạng Internet: HTTP và HTML
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
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
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 đó.
Đâ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.
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?
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ụ.
Đầ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.
Tiếp theo, bạn nhập vào địa chỉ trang web, hoặc URL (Uniform Resource Locator) của trang web
mà bạn truy cập ví dụ như Tumblr.com !
Xin chào, tôi là David Karp, người sáng lập của Tumblr
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
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
Đ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
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
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ủ
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)
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
và máy chủ sử dụng để trao đổi thông tin với nhau một cách trực tiếp.
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
thì bạn sẽ thấy nó sẽ tạo ra một yêu cầu “GET”.
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
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
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
của trang đăng nhập. HTML là viết tắt của HyperText Markup Language
Bạn có thể hiểu HTML như một ngôn ngữ để hiển thị nội dung trang web.
Ví dụ như nếu bạn nghĩ đến Wikipedia như một khối tài liệu khổng lồ
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 đề
đị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
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
Toàn bộ văn bản của một trang web sẽ nằm trực tiếp trong HTML
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.
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ề.
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
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,
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
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
đế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
đ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:
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.
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
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,
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.
Đ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.
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
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.
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 đó
với yêu cầu để gửi tới các máy chủ của Tumblr
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
và biết “OK, đây là một yêu cầu từ David”
Bây giờ, internet đã hoàn toàn mở
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
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
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
bằng cách sử dụng Secure Sockets Layer (SSL) và Transport Layer Security (TLS).
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
để 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ỏ
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
yêu cầu HTTP của bạn được bảo mật và bảo vệ.
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ố.
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
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
giống như việc nhà nước cấp chứng minh thư và hộ chiếu.
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ó
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.
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
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
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ỏ.
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
và được truyền qua hệ thống cáp quang, cáp đồng hoặc qua mạng không dây.
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 đó
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
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.