Hướng dẫn HTTP

Trang này liệt kê các hướng dẫn về HTTP. Chúng nhằm mục đích giúp bạn hiểu những loại công việc nào có thể thực hiện được bằng giao thức HTTP.

Bộ nhớ đệm HTTP

Bộ nhớ đệm HTTP lưu trữ một phản hồi liên kết với yêu cầu và tái sử dụng phản hồi đã lưu trữ cho các yêu cầu tiếp theo.

Browser detection using the user agent string (UA sniffing)

Cùng với mỗi yêu cầu đến máy chủ, trình duyệt đính kèm header User-Agent HTTP với một giá trị được gọi là chuỗi user agent (UA). Chuỗi này được thiết kế để xác định trình duyệt, số phiên bản của nó và hệ điều hành chủ.

Chuyển hướng trong HTTP

Chuyển hướng URL, còn được gọi là chuyển tiếp URL, là kỹ thuật để cung cấp nhiều hơn một địa chỉ URL cho một trang, một biểu mẫu, toàn bộ trang web, hoặc ứng dụng web. HTTP có một loại phản hồi đặc biệt, được gọi là HTTP redirect, cho hoạt động này.

Compression Dictionary Transport

Compression Dictionary Transport là cách sử dụng từ điển nén được chia sẻ để giảm đáng kể kích thước truyền tải của các phản hồi HTTP.

Compression in HTTP

Nén là một cách quan trọng để tăng hiệu suất của trang web. Đối với một số tài liệu, giảm kích thước lên đến 70% giúp giảm nhu cầu băng thông. Qua nhiều năm, các thuật toán cũng trở nên hiệu quả hơn, và các thuật toán mới được hỗ trợ bởi client và máy chủ.

Connection management in HTTP/1.x

Quản lý kết nối là một chủ đề quan trọng trong HTTP: việc mở và duy trì kết nối ảnh hưởng lớn đến hiệu suất của trang web và ứng dụng web. Trong HTTP/1.x, có một số mô hình: kết nối ngắn hạn, kết nối bền vững, và HTTP pipelining.

Content Security Policy (CSP)

Content Security Policy (CSP) là tính năng giúp ngăn chặn hoặc giảm thiểu rủi ro của một số loại mối đe dọa bảo mật. Nó bao gồm một loạt hướng dẫn từ trang web đến trình duyệt, hướng dẫn trình duyệt đặt ra các hạn chế đối với những gì code cấu thành trang web được phép làm.

Cross-Origin Resource Policy (CORP)

Cross-Origin Resource Policy là chính sách được đặt bởi HTTP header Cross-Origin-Resource-Policy cho phép các trang web và ứng dụng chọn tham gia bảo vệ chống lại một số yêu cầu nhất định từ các nguồn gốc khác (chẳng hạn như những yêu cầu được phát hành với các phần tử như <script><img>), để giảm thiểu các cuộc tấn công kênh bên suy đoán, như Spectre, cũng như các cuộc tấn công Cross-Site Script Inclusion. CORP là một lớp bảo vệ bổ sung ngoài same-origin policy mặc định.

Cross-Origin Resource Sharing (CORS)

Cross-Origin Resource Sharing (CORS) là một cơ chế dựa trên HTTP header cho phép máy chủ chỉ định bất kỳ nguồn gốc nào (domain, scheme, hoặc cổng) khác với nguồn gốc của chính nó mà trình duyệt nên cho phép tải tài nguyên. CORS cũng dựa trên một cơ chế mà theo đó trình duyệt thực hiện yêu cầu "preflight" đến máy chủ lưu trữ tài nguyên xuyên nguồn gốc, để kiểm tra xem máy chủ có cho phép yêu cầu thực tế không. Trong preflight đó, trình duyệt gửi các header cho biết phương thức HTTP và các header sẽ được sử dụng trong yêu cầu thực tế.

HTTP Client hints

Client hints là một tập hợp các trường HTTP request header mà máy chủ có thể chủ động yêu cầu từ client để lấy thông tin về thiết bị, mạng, người dùng và các tùy chọn dành riêng cho user-agent. Máy chủ có thể xác định tài nguyên nào cần gửi, dựa trên thông tin mà client chọn cung cấp.

IFrame credentialless

IFrame credentialless cung cấp cơ chế để các nhà phát triển tải tài nguyên của bên thứ ba trong iframe bằng cách sử dụng ngữ cảnh mới, tạm thời. Nó không có quyền truy cập vào mạng, cookie và dữ liệu lưu trữ thông thường của nguồn gốc của nó. Nó sử dụng ngữ cảnh mới cục bộ với thời gian sống của tài liệu cấp cao nhất. Đổi lại, các quy tắc nhúng Cross-Origin-Embedder-Policy (COEP) có thể được dỡ bỏ, vì vậy các tài liệu có COEP được đặt có thể nhúng các tài liệu của bên thứ ba không có COEP.

Lịch sử phát triển của HTTP

HTTP (HyperText Transfer Protocol) là giao thức nền tảng của World Wide Web. Được phát triển bởi Tim Berners-Lee và nhóm của ông trong giai đoạn 1989-1991, HTTP đã trải qua nhiều thay đổi giúp duy trì sự đơn giản trong khi định hình tính linh hoạt của nó. Hãy tiếp tục đọc để tìm hiểu cách HTTP phát triển từ một giao thức được thiết kế để trao đổi tệp trong môi trường phòng thí nghiệm tin cậy một phần thành mê cung internet hiện đại mang hình ảnh và video độ phân giải cao và 3D.

Media types (MIME types)

Kiểu phương tiện (trước đây được gọi là Multipurpose Internet Mail Extensions hay kiểu MIME) cho biết bản chất và định dạng của một tài liệu, tệp, hoặc tập hợp các byte. Các kiểu MIME được định nghĩa và tiêu chuẩn hóa trong 6838 của IETF.

Một phiên HTTP điển hình

Trong các giao thức client-server, như HTTP, các phiên bao gồm ba giai đoạn:

Network Error Logging (NEL)

Network Error Logging là cơ chế có thể được cấu hình qua response header HTTP NEL. Header thử nghiệm này cho phép các trang web và ứng dụng chọn tham gia để nhận báo cáo về các lần tải mạng thất bại (và nếu muốn, thành công) từ các trình duyệt hỗ trợ.

Permissions Policy

Permissions Policy cung cấp các cơ chế để các nhà phát triển web khai báo rõ ràng chức năng nào có thể và không thể được sử dụng trên trang web. Bạn xác định một tập hợp "chính sách" hạn chế các API nào mà code của trang web có thể truy cập hoặc sửa đổi hành vi mặc định của trình duyệt cho một số tính năng nhất định. Điều này cho phép bạn thực thi các thực hành tốt nhất, ngay cả khi codebase phát triển — cũng như soạn thảo nội dung của bên thứ ba an toàn hơn.

Protocol upgrade mechanism

Giao thức HTTP/1.1 cung cấp một cơ chế đặc biệt có thể được sử dụng để nâng cấp kết nối đã thiết lập lên giao thức khác, sử dụng trường header Upgrade.

Proxy servers and tunneling

Khi điều hướng qua các mạng khác nhau của Internet, proxy servers và các đường hầm HTTP tạo điều kiện truy cập vào nội dung trên World Wide Web. Một proxy có thể nằm trên máy tính cục bộ của người dùng, hoặc bất kỳ đâu giữa máy tính của người dùng và máy chủ đích trên Internet. Trang này trình bày một số thông tin cơ bản về proxy và giới thiệu một số tùy chọn cấu hình.

Một cookie (còn được gọi là cookie web hoặc cookie trình duyệt) là một mảnh dữ liệu nhỏ mà máy chủ gửi đến trình duyệt web của người dùng. Trình duyệt có thể lưu trữ cookie, tạo cookie mới, sửa đổi cookie hiện có và gửi chúng trở lại cùng máy chủ với các yêu cầu sau. Cookie cho phép các ứng dụng web lưu trữ lượng dữ liệu giới hạn và ghi nhớ thông tin trạng thái; theo mặc định giao thức HTTP là không có trạng thái.

Thông điệp HTTP

Thông điệp HTTP là cơ chế được sử dụng để trao đổi dữ liệu giữa máy chủ và client trong giao thức HTTP. Có hai loại thông điệp: yêu cầu được gửi bởi client để kích hoạt một hành động trên máy chủ, và phản hồi, câu trả lời mà máy chủ gửi để trả lời một yêu cầu.

Thương lượng nội dung

Trong HTTP, thương lượng nội dung là cơ chế được sử dụng để phục vụ các biểu diễn khác nhau của một tài nguyên đến cùng một URI để giúp user-agent chỉ định biểu diễn nào phù hợp nhất cho người dùng (ví dụ, ngôn ngữ tài liệu nào, định dạng hình ảnh nào, hoặc mã hóa nội dung nào).

Tổng quan về HTTP

HTTP là một giao thức để tải các tài nguyên như tài liệu HTML. Đây là nền tảng của mọi trao đổi dữ liệu trên Web và là giao thức client-server, nghĩa là các yêu cầu được khởi tạo bởi người nhận, thường là trình duyệt web. Một tài liệu hoàn chỉnh thường được xây dựng từ các tài nguyên như nội dung văn bản, hướng dẫn bố cục, hình ảnh, video, script và nhiều hơn nữa.

User-Agent reduction

User-Agent reduction là một sáng kiến trình duyệt được chấp nhận rộng rãi nhằm giảm lượng thông tin nhạy cảm về quyền riêng tư được cung cấp trong các chuỗi user agent (UA).

Xác thực HTTP

HTTP cung cấp một khung chung để kiểm soát truy cập và xác thực. Trang này là giới thiệu về khung xác thực HTTP và cho thấy cách hạn chế quyền truy cập vào máy chủ của bạn bằng cách sử dụng phương thức "Basic" của HTTP.

Yêu cầu có điều kiện HTTP

HTTP có khái niệm yêu cầu có điều kiện, trong đó kết quả, và thậm chí cả sự thành công của yêu cầu, có thể được kiểm soát bằng cách so sánh các tài nguyên bị ảnh hưởng với một trình xác nhận. Những yêu cầu này hữu ích để xác nhận nội dung đã lưu vào bộ nhớ đệm, đảm bảo rằng nó chỉ được tải về nếu nó khác với bản sao đã có sẵn cho trình duyệt. Yêu cầu có điều kiện cũng hữu ích để đảm bảo tính toàn vẹn của tài liệu khi tiếp tục tải xuống, hoặc ngăn chặn mất cập nhật khi tải lên hoặc sửa đổi tài liệu trên máy chủ.

Yêu cầu phạm vi HTTP

Yêu cầu Range HTTP yêu cầu máy chủ gửi lại các phần của tài nguyên cho client. Yêu cầu phạm vi hữu ích cho nhiều client khác nhau, bao gồm trình phát phương tiện hỗ trợ truy cập ngẫu nhiên, công cụ dữ liệu chỉ yêu cầu một phần của tệp lớn, và trình quản lý tải xuống cho phép người dùng tạm dừng và tiếp tục tải xuống.