Trình duyệt web tương tác với trang web bằng cách tuân theo giao thức HTTP. Đây là bộ quy tắc chuẩn hoá để giao tiếp:
- Khi bạn truy cập một trang web, trình duyệt sẽ gửi yêu cầu HTTP cho các tài nguyên trên trang, chẳng hạn như HTML, CSS, JavaScript và hình ảnh.
- Khi một máy chủ HTTP (máy chủ web lưu trữ một trang web) nhận được một yêu cầu HTTP hợp lệ từ trình duyệt, máy chủ sẽ phản hồi trình duyệt bằng một phản hồi HTTP.
- Yêu cầu và phản hồi có thể bao gồm thông tin bổ sung được gọi là tiêu đề HTTP.
Ví dụ: hãy xem xét trang web cats.example.
Yêu cầu
Việc truy cập vào trang cats.example
sẽ bắt đầu một chuỗi yêu cầu đến nhiều miền. Trong đó có yêu cầu về hình ảnh được lưu trữ trên chính cats.example
, yêu cầu về tập lệnh phân tích từ analytics.example
và các yêu cầu khác về tài nguyên bổ sung từ các miền khác.
Bạn có thể bổ sung tiêu đề yêu cầu HTTP vào yêu cầu HTTP để cung cấp thông tin bổ sung từ trình duyệt đến máy chủ web. Ví dụ: các tiêu đề như sau thường được đưa vào:
Accept-Language: en-US
Tiêu đề này cho biết ngôn ngữ ưu tiên của người dùng, trong trường hợp này là tiếng Anh (Hoa Kỳ).User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Tiêu đề này cung cấp thông tin chi tiết về trình duyệt và hệ điều hành của người dùng, trong trường hợp này là "Mozilla/5.0" (gia đình trình duyệt), "Macintosh" (hệ điều hành) và "Chrome/127.0.0.0" (phiên bản trình duyệt).
Phản hồi
Khi nhận được yêu cầu hợp lệ từ trình duyệt, máy chủ sẽ gửi cho trình duyệt một phản hồi cung cấp tài nguyên đã được yêu cầu ("trọng tải"): HTML, CSS, JavaScript, tệp hình ảnh, video hoặc dữ liệu khác. Cũng giống như mỗi yêu cầu từ trình duyệt có thể bao gồm tiêu đề yêu cầu, mỗi phản hồi từ máy chủ có thể bao gồm tiêu đề phản hồi. Các tiêu đề phản hồi này được gửi cùng với tải trọng.
Tiêu đề Set-Cookie
đi kèm với phản hồi sẽ yêu cầu trình duyệt lưu trữ một số văn bản: tên và giá trị. Đây được gọi là cookie HTTP. Để phản hồi yêu cầu về cats.example/images/cat.jpg
, máy chủ cats.example
sẽ bao gồm tiêu đề Set-Cookie:cat=tabby
. Thao tác này sẽ hướng dẫn trình duyệt lưu trữ một cookie có tên là cat với giá trị tabby.
Sau đó, cookie đó sẽ được đưa vào các yêu cầu tiếp theo đến cats.example,
cho đến khi cookie hết hạn hoặc bị xoá.
Điều này cho phép máy chủ duy trì thông tin về người dùng trên nhiều trang web hoặc phiên: ví dụ: người dùng đã thấy hình ảnh một con mèo tam thể.
Tiêu đề | Hành động | Ví dụ | Hiệu ứng | |
---|---|---|---|---|
Phản hồi HTTP Máy chủ đến trình duyệt |
Set‑Cookie
|
Máy chủ web yêu cầu trình duyệt của bạn lưu trữ một cookie. | Set‑Cookie:cat=tabby |
Cookie được lưu trữ trong trình duyệt của bạn và được cung cấp trong các yêu cầu tiếp theo cho máy chủ đã đặt cookie đó. |
Yêu cầu HTTP Trình duyệt đến máy chủ |
Cookie |
Trình duyệt của bạn cung cấp một cookie. | Cookie:cat=tabby |
Cookie được cung cấp cho máy chủ là đích đến của yêu cầu. |
Bản thu thử
- 1pc.glitch.me: bản minh hoạ cookie của bên thứ nhất
- 3pc.glitch.me: minh hoạ cookie của bên thứ ba
Công cụ
- Xem, thêm, chỉnh sửa và xoá cookie trong Công cụ của Chrome cho nhà phát triển
- Công cụ phân tích Hộp cát về quyền riêng tư