Tất cả về CACHING (Được dịch từ cuốn sách: http_the_definitive_guide)

26 135 0
Tất cả về CACHING (Được dịch từ cuốn sách: http_the_definitive_guide)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bộ nhớ cache trên web là những thiết bị HTTP tự động giữ những bản sao lưu của các document phổ biến. Khi một web request đến một bộ nhớ cache, nếu một bản sao lưu local được lưu trữ là hợp lệ, document được phục vụ từ kho lưu trữ cục bộ thay vì từ server ban đầu. Caches có những lợi ích như: Làm giảm những data vận chuyển dư, tiết kiệm tiền của bạn trong việc chi trả cho mạng.Làm giảm tắc nghẽn mạng. Page tải nhanh hơn mà không cần nhiều bandwdth hơn. Làm giảm sự phụ thuộc vào server. Server trả lời nhanh hơn và tránh bị quá tải.Làm giảm sự khoảng thời gian ngưng trệ (delay), bởi vì page tải chậm hơn từ xa hơn. Trong chapter này, chúng ta giải thích cache cải thiện hiệu năng và làm giảm chi phí như thế nào, đo độ hiệu quả của nó như thế nào và nơi nên đặt cache nhằm tối ưu hóa hoạt động của nó. Chúng ta còn giải thích HTTP giữ các bản sao chép mới lưu trong cache như thế nào và cache tương tác với những cache và server khác như thế nào?

Người dịch: Nguyễn Trường Hận Tài liệu dịch từ sách: http_the_definitive_guide Chương 7: CACHING Bộ nhớ cache web thiết bị HTTP tự động giữ lưu document phổ biến Khi web request đến nhớ cache, lưu local lưu trữ hợp lệ, document phục vụ từ kho lưu trữ cục thay từ server ban đầu Caches có lợi ích như: - Làm giảm data vận chuyển dư, tiết kiệm tiền bạn việc chi trả cho mạng Người dịch: Nguyễn Trường Hận - Làm giảm tắc nghẽn mạng Page tải nhanh mà không cần nhiều bandwdth - Làm giảm phụ thuộc vào server Server trả lời nhanh tránh bị tải - Làm giảm khoảng thời gian ngưng trệ (delay), page tải chậm từ xa Trong chapter này, giải thích cache cải thiện hiệu làm giảm chi phí nào, đo độ hiệu nơi nên đặt cache nhằm tối ưu hóa hoạt động Chúng ta giải thích HTTP giữ chép lưu cache cache tương tác với cache server khác nào? 7.1 Redundant Data Transfers (Vận chuyển liệu dư) Khi nhiều client truy cập tới page server, server truyền document nhiều lần, lần tới client Những byte giống vận chuyển thông qua network lặp lặp lại nhiều lần Những lần chuyển lặp lại chiếm băng thông nhiều, khiến trình chuyển liệu chậm tải cho web server Với cache, cache giữ response từ server Request hồn thành từ copy lưu trữ trước đó, làm giảm lãng phí, lưu lượng giống từ server 7.2 Bandwidth Bottlenecks (Nghẽn băng thơng) Cache làm giảm tắc nghẽn băng thông Nhiều network cung cấp băng thông nhiều cho client local network để truy cập từ xa tới server Client truy cập tới server với tốc độ đường mạng chậm Nếu client lấy từ cache mạng LAN nhanh, caching đẩy tăng hiệu cách đặc biệt cho lượng lớn document Người dịch: Nguyễn Trường Hận Trong hình 7-1, đến 30 giây để user San Francisco tải file 5MB từ Atlanta, với tốc độ đường truyển 1,4Mb giây Nếu document lưu cache San Francisco, người dùng cục lấy document lưu khoảng thời gian vài giây thông qua Ethernet connection T1 Internet connection Bảng 7-1 băng thơng có ảnh hường đến thời gian truyền data với vài tốc độ network khác vài kích thước document khác Băng thơng gây chậm trễ đáng ý document lớn tốc độ khác loại network khác đáng kể Một modem có tốc độ 56KB giây 749 giây để vận chuyển file 5MB, file chuyển thông qua fast Ethernet LAN vài giây Người dịch: Nguyễn Trường Hận 7.3 Flash Crowds Bộ nhớ đệm đặc biệt quan trọng việc chia nhỏ flash crowds Flash crowds xảy kiện đột ngột gây nhiều người truy cập tới document web thời điểm Kết lưu lượng truy cập giống tăng đột biến gây sụp độ server network 7.4 Distance Delays (Khoảng thời gian chậm trễ) Ngay băng thơng khơng có vấn đề nào, thời gian ngưng trệ xảy Mỗi router network làm chậm trễ lưu lượng internet Và khơng có nhiều định tuyến client server, chậm trễ xảy Người dịch: Nguyễn Trường Hận Khoảng cách trực tiếp từ Boston tới San Francisco khoảng 2700 miles Trong trường hợp tốt nhất, với tốc độ ánh sáng (186.000 miles/sec), tín hiệu di chuyển từ Boston tới San Francisco khoảng 15 mili giây hoàn thành chuyến 30 mili giây Nói web page chưa 20 hình ảnh nhỏ, tất nằm server San Francisco Nếu mộ tclient Boston mở connection song song tới server giữ connection sống, tốc độ ánh sáng đơn gây 1/4 giây cho việc download Nếu server Tokyo (cách Boston 6.700 miles), thời gian delay tăng thêm 600mili giây Các trang web phức tạp phải vài giây cho chậm trễ tốc độ ánh sáng Đặt nhớ cache gần phòng máy rút ngắn khoảng cách mà document phải từ ngàn dặm hàng chục yard (thước) Người dịch: Nguyễn Trường Hận 7.5 Hits and Misses Cache lưu hết tất document Một vài request đến cache phục vụ từ lưu hợp lệ Điều gọi cache hit Những request khác đến cache chuyển tới server lưu tài ngun mà request khơng hợp lệ, gọi cache miss Revalidations Bởi nội dung server thay đổi, cache phải kiểm tra sau lưu xem liệu cập nhật với serer khơng Những kiểm tra gọi Revalidations (kiểm tra lại) Để việc kiểm tra lại có hiệu quả, HTTP định nghĩa request đặc biệt nhanh chóng kiểm tra nội dung mà khơng tìm nạp tồn đối tượng từ server Một cache kiểm tra lại lưu muốn thường xuyên muốn Nhưng cache thường bao gồm hàng nghìn document băng thơng hạn hẹp, hầu hết cache kiểm tra lại lưu request Người dịch: Nguyễn Trường Hận client lưu đủ cũ để đảm bảo cần kiểm tra Chúng ta giải thích HTTP rule cho việc kiểm tra lại chapter sau Khi cache cần kiểm tra lại lưu lưu cache, gửi request kiểm tra lại nhỏ tới server Nếu nội dung không thay đổi, server hồi đáp với response nhỏ status code 304 Not Modified Ngay cache biết copy hợp lệ, đánh dấu lưu tạm thời phục vụ lưu gửi tới client Điều gọi revalidate hit slow hit Nó chậm cache túy phải kiểm tra với server, nhanh cache miss không đối tượng liệu phải gửi lại từ server HTTP đưa cho vài công cụ để kiểm tra lại đối tượng lưu cache, phổ biến If-Modified-Since header Khi header thêm vào GET request, header nói cho server gửi đối tượng lần sửa đổi cuối xảy trước lưu cache Những điều xảy GET request kèm với header If-Modified-Since đến server có trường hợp: Khi nội dung server không sửa đổi, Khi nội dung server thay đổi đối tượng server bị xóa Revalidate hit Người dịch: Nguyễn Trường Hận Nếu đối tượng server không sửa đổi, server gửi tới client response nhỏ với status code 304 Not Modified Revalidate miss Nếu đối tượng server khác với lưu cache, server gửi tới client response với status code 200 OK với nội dung đầy đủ đối tượng mà client request Object bị xóa Nếu đối tượng server bị xóa, server gửi lại cho client response 404 NOT found cache xóa lưu Hit Rate (Tỷ lê Hit) Từng phần request phục vụ cache gọi cache hit rate (hoặc cache hit ratio) gọi document hit rate document hit ratio Hit rate nằm khoảng đến thường xuyên mô tả tỷ lệ phần trăm, 0% có nghĩa request miss (phải lấy document network), 100% có nghĩa request hit (đã lấy lưu document cahe) Quản trị viên cache muốn tỷ lệ cache hit 100% Thực tế hit rate mà bạn lấy dựa việc nhớ cache lớn Giống người dùng thích nhớ cahe nào, tần suất liệu cache thay đổi cá nhân hóa, cách Người dịch: Nguyễn Trường Hận cache cấu hình Hit rate tiếng khó để dự đốn được, hit rate 40% tốt cho cache web server Byte Hit Rate (Tỷ lệ byte hit) Document hit rate khơng phải tất cả, document khơng phải tất có kích thước Một vài đối tượng có kích thước lớn truy cập thường xun đóng góp nhiều phần cho tổng lưu lượng liệu kích thước chúng Vì lý này, vài người thích byte hit rate (đặc biệt người phải trả tiền cho byte lưu lượng) Byte hit rate biểu thị phần tất byte chuyển lấy từ cache Giá trị nắm bắt mức độ truy cập lưu lượng Một byte hit rate 100% có nghĩa byte đến từ cache khơng có lưu lượng ngồi internet Document hit rate byte hit rate hữu ích cho việc tính hiệu suất cache Document hit rate mơ tả có giao dịch web lưu trữ ngồi network Bởi giao dịch có thành phần thời gian cố định thường xuyên lớn (ví dụ cài đặt TCP connection tới server) Nâng cao document hit rate tối ưu hóa tổng thời gian bị delay Byte hit rate mơ tả bao nhiều byte giữ internet Nâng cao byte hit rate tối ưu hóa việc tiết kiệm băng thông Distinguishing Hits and Misses (Phân biệt Hit Miss) Không may, HTTP không cung cấp cách để client nói response cache hit hay truy cập vào server Trong trường hợp, response code 200 OK response có body Một vài nhớ cache proxy thương mại đính kèm thơng tin đến Via header để mơ tả diễn cache Một cách mà client thường xuyên phát response đến từ cache dùng header Date Bằng cách so sánh giá trị header Date response với thời gian tại, client thường xuyên phát response giá trị date cũ Cách khác để client phát cache reponse sử dụng header Age, header nói cho client biết tuổi response (response tạo rồi) Người dịch: Nguyễn Trường Hận 7.6 Cache Topologies Cacche chuyên dụng cho single uer chia sẻ hàng ngàn user Cache chuyên dụng gọi nhớ riêng Bộ nhớ cache riêng nhớ cache cá nhân, bao gồm page thông dụng cho người dùng đơn Bộ nhớ cache chia sẻ gọi nhớ cache công khai, bao gồm page thông dụng cộng động người dùng Private caches Private cache khơng cần nhiều khơng gian lưu trữ, chúng tạo nhỏ rẻ Trình duyệt web có cache riêng xây dựng chứa document thơng dụng tìm kiếm đĩa nhớ máy tính cá nhân cho phép bạn cấu hình kích thước cài đặt nhớ cache Public Proxy caches Public cache proxy server chia sẻ đặc biệt gọi caching proxy server proxy caches Proxy cache phục vụ document từ local cache kết nối tới server đại diện cho user Bởi public cache nhận truy cập từ nhiều người dùng, có nhiều khả để loại bỏ lưu lượng truy cập dư Người dịch: Nguyễn Trường Hận Cache Meshes, Content Routing, and Peering Một vài kiến trúc network xây dựng mạng lưới nhớ cache phức tạp (Cache Meshes) thay nhớ cache phân cấp đơn giản Proxy cache mạng lưới cache nói chuyện với theo nhiều cách tinh vi hơn, tạo định truyền thông cache động, định mà cache cha lớn thực định thơng qua tồn cache tới trực tiếp server Proxy cache mô tả định tuyến nội dung, chúng tạo định định tuyến cách truy cập, quản lí chuyển giao nội dung Cache thiết kế để định tuyến nội dung mạng lưới cache thực tất việc đây: - Chọn cache cha server cách tự động, dựa URL - Chọn cache cụ thể cách tự động, dựa URL Người dịch: Nguyễn Trường Hận - Tìm kiếm cache khu vực mạng nội lưu trước tới cache cha - Cho phép cache khác truy cập tới phần nội dung cache nó, khơng cho phép Internet chuyển tiếp thơng qua cache Có nhiều mối quan hệ phức tạp cache cho phép tổ chức khác ngang hàng với nhau, kết nối cache chúng lợi ích chung Cache cung cấp lựa chọn ngang hàng hỗ trợ gọi sibling caches Bởi HTTP không cung cấp hỗ trợ sibling caches, người dùng mở rộng HTTP với protocol, Internet Cache Protocol (ICP) HyperText Caching Protocol (HTCP), CHúng ta thảo luận protocol chapter 20 Người dịch: Nguyễn Trường Hận 7.7 Cache Processing Steps Những nhớ cache proxy đại ngày phức tạp Chúng xây dựng để có hiệu xuất cao hỗ trợ tính cấp cap HTTP cơng nghệ khác Mặc dù có vài chi tiết phức tạp hoạt động nhớ cache hầu hết đơn giản Một tiến trình cache đơn giản cho HTTP GET message bao gồm bước Receiving : Cache đọc request message nhận từ nework Parsing : Cache phân tích message này, trích xuất thơng tin URL header Lookup: Cache kiểm tra local hợp lệ khơng tìm nạp lưu Freshness check: Cache kiêmt tra lưu liệu đủ không yêu cầu cập nhật từ server Response creation: Cache tạo response message với header body nội dung lưu cache body Sending: Cache gửi response tới client thông qua nework Logging: (tùy chọn), Cache tạo log file mô tả trình giao dịch Step 1: Receiving Người dịch: Nguyễn Trường Hận Trong bước 1, Cache phát hoạt động kết nối network đọc data gởi tới Cache hiệu suất cao đọc liệu đồng thời từ nhiều connection bắt đầu xử lí giao dịch trước toàn message đến Step 2: Parsing Tiếp theo, Cache phân tích request message thành phần đặt header vào cấu trúc liệu dễ thao tác Điều làm dễ dàng cho phần mềm caching để xử lí header Step 3: Lookup Ở bước 3, Cache lấy URL kiểm tra chúng có lưu khơng Bản lưu lưu nhớtrên đĩa cứng local nới khác gần máy tính Cache chuyên nghiệp sử dụng thuật tốn nhanh nhằm mục đích kiểm tra liệu đối tượng hợp lệ local cache Nếu document khơng hợp lệ local, tìm nạp từ server proxy cha, trả lỗi, dựa tình hình cấu hình Đối tượng cache bao gồm body response server header response server, header trả lại cahe hit Đối tượng cache Người dịch: Nguyễn Trường Hận bao gồm vài metadata sử dụng để tính tốn đối tượng lưu lại cahe, lần sử dụng, … Step 4: Freshness Check HTTP cho phép cache giữ lưu document server khoảng thời gian dài Suốt thời gian này, document xem cache phục vụ document mà không cần kết nối đến server Nhưnng lưu cache lâu rồi, liệu gọi “freshness limit”, đối tượng xem cũ cache ccần kiểm tra lại với server liệu có document thay đổi khơng trước trả cho client Những điều phức tạp request header mà client gửi tới cache, có buộc cache kiểm tra lại để tránh xảy khơng hợp lệ tài liệu HTTP có tập rule phức tạp cho việc kiểm tra document, số lượng option cấu hình hỗ trợ sản phẩm cache lớn cần thiết phải tương thích với tiêu chuẩnnon-HTTP freshness Step5: Response Creation Bởi muốn cache gửi response giống response đến từ server, cache sử dụng server response header lưu cache điểm bắt đầu cho response header Những tiêu đề sở sửa đổi sau tăng cường cache Cache chịu trách nhiệm điều chỉnh header cho khớp với client Ví dụ, server trả response HTTP/1.0, client sử dụng HTTP/1.1, trường hợp cache phải dịch header cách phù hợp, cache chèn thêm thơng tin độ document lưu (Cache-Control, Age, Expries headers) thường xuyên bao gồm Via header nhắc nhở proxy cache phục vụ request Chú ý cache không nên chỉnh sửa Date header, Date header biểu thị ngày mà đối tương tạo server Step 6: Sending Người dịch: Nguyễn Trường Hận Một response header sẵn sàng, cache gửi response trả cho client Như proxy, proxy cần quản lý kết nối với client Cache hiệu suất caolàm việc chăm để gửi liệu cách hiệu quả, thường xuyên tránh chép nội dung docment nhớ local đệm I/O network Step 7: Logging Hầu hết cache giữ log file số liệu thống kê tỷ lệ sử dụng cache Sau giao dịch cache hoàn thành, cache cập nhật số liệu thống kê tính tốn số cache hit misses chèn entry vào log file cho biết loại request, URL điều xảy Cache Processing Flowchart Hình 7-12 cho thấy, mẫu đơn giản, cache xử lý request GET URL 7.8 Keeping Copies Fresh Những lưu cache tất phù hợp với document server Sau tất cả, document thay đổi theo thời gian Báo cáo thay đổi hàng tháng Báo điện tử thay đổi hàng ngày Data thay đổi giây Cache vơ ích chúng luôn phục vụ data cũ Cached data cần trì tính qn với server Người dịch: Nguyễn Trường Hận HTTP bao gồm chế đơn giản để giữ cache data đủ quán với server mà không yêu cầu server nhớ document mà cache lưu HTTP call chế đơn giản document expiration server revalidation Document Expiration HTTP cho phép server gốc đính kèm “expiration date” tới document, sử dụng header HTTP đặc biệt Cache-Control header Expires (hình 7-13) Như ngày hết hạn hộp sữa, header định nội dung nên xem Cho đến cache document hết hạn, cache phục vụ lưu thường xuyên muốn mà liên hệ tới server, trừ khi, dĩ nhiên client request bao gồm header ngăn chặn phục vụ tài nguyên lưu cache hết hạn Nhưng document lưu cache hết hạn, cache phải kiểm tra với server để yêu cầu document thay đổi có thay đổi lấy lưu Expiration Dates and Ages Server định ngày hết hạn sử dụng HTTP/1.0+ Expires HTTP/1.1 Cache Control: max-age response headers với đoy response Expires and CacheControl: max-age header thực việc đơn giản giống nhau, Cache-Control header ưu ích sử dụng thời gian tương đối thay ngày tuyệt đối Ngày tuyệt đối phụ thuộc vào đồng hồ máy tính thiết đặt cách sách Server Revalidation (Kiểm tra lại với server) Người dịch: Nguyễn Trường Hận Chỉ cache document có ngày hết hạn khơng có nghĩa thực khác với document máy chủ, có nghĩa đến lúc kiểm tra Điều gọi “server revalidation” có nghĩa cache cần hỏi server liệu document có thay đổi khơng: - Nếu revalidation nội dung thay đổi, cache lấy lưu document, lưu đè lên document cũ gửi cho client - Nếu revalidation nội dung chưa thay đổi, cache cần lấy header bao gồm ngày hết hạn cập nhật vào cache Điều hệ thống tốt, cache kiểm tra độ document cho request, phải xác nhận lại với server lần xem document có hết hạn khơng Điều tiết kiệm lưu lượng cung cấp thời gian response người dùng tốt mà không phục vụ document cũ HTTP protocol yêu cầu nhớ cache hoạt động đắn để trả điều sau: - Một lưu document lưu tron cache đủ - Một lưu xác nhận lại với server để đảm bảo - Một error messge server xác nhận lại down - Một lưu đính kèm với warning document khơng Revalidation with Conditional Methods Các phương thức có điều kiện HTTP làm cho việc xác nhận lại có hiệu HTTP cho phép cache gửi “conditional GET” tới server, yêu cầu server gửi trả body đối tượng document khác với lưu cache Trong cách thức này, việc kiểm tra độ tìm nạp đối tượng kết hợp thành GET có điều kiện Get có điều kiện bắt đầu thêm header điều kiện đặc biệt tới GET request message Web server trả đối tượng điều kiện HTTP định nghĩa header điều kiện request Trong hữu ích cho việc xác nhận lại cache IfModified-Since If-None-Match Tất header điều kiện bắt đầu “If” Người dịch: Nguyễn Trường Hận If-Modified-Since: Date Revalidation Header điều kiên xác nhận lại cache phổ biến If-Modified-Since Request thường gọi IMS request IMS request hướng dẫn server thực request tài nguyên thay đổi kể từ ngày định: - Nếu document chỉnh sửa từ ngày định, IMS điều kiện GET thành cơng cách bình thường Một document trả cho cache kèm theo header mới, thông tin khác, ngày hết hạn - Nếu document không chỉnh sứa kể từ ngày xác định, điều kiện IMS sai response nhỏ với status code 304 Not Modified trả cho client mà khơng có document body, có nhữg header cần cập nhật từ ban đầu cần trả Ví dụ , Content-Type header khơng thường xuyển cần gửi, kể từ thôngt thường không thay đổi Một ngày hết hạn gửi Header IMS làm việc kết hợp với header Last-Modified server trả Server đính kèm ngày cuối chỉnh sửa tới document phụ vụ Khi mộ cache muốn kiểm tra lại document lưu cache, bao gồm header If-Modified-Since với ngày mà lưu cache lần cuối chỉnh sửa Nếu nội dung thay đổi thời gian chờ đợi, ngày cuối chỉnh sửa khác server gửi trả document Nếu khơng server nhắc nhở ngày cuối chỉnh sửa cache document trùng với ngày chỉnh sửa gần document server trả response 304 Not Modified Ví dụ, hình 7-14, Nếu cache bạn kiểm tra lại thông báo sale lần thứ tháng Joe’s Hardware vào ngày 3/7, bạn nhận response 304 Not Modified Người dịch: Nguyễn Trường Hận Nhưng cache bạn kiểm tra document sau sale kết thúc đêm 5/7, cache nhận document mới, nội dung document server thay đổi Chú ý vài web server không thực IMS phép so sánh ngày đắn Thay vào đó, chúng thực chuỗi trùng với IMS date lastmodified date Như vậy, hành động “Nếu khơng chỉnh sửa lần cuối vào ngày xác này” thay vào “Nếu chỉnh sửa lần cuối vào ngày này” Thay thực tốt cho hết hạn cache Khi bạn sử dụng last-modified date loại số sê ri, ngăn chặn client từ sử dụng header IMS cho mục đích thời gian If-none-Match: Entity Tag Revalidation Trong vài tình last-modified date kiểm tra lại không đầy đủ: Người dịch: Nguyễn Trường Hận Một document viết cách định kỳ thực thường xuyên bao gồm liệu giống Ngày chỉnh sửa thay đổi nội dung có khơng thay đổi Một vài document thay đổi, cách không quan trọng đủ để đảm bảo cache toàn giới để tải lại liệu (ví dụ: thay đổi tả nhận xét) Một vài server xác định xác ngày chỉnh sửa cuối page server Đối với server phục vụ document thay đổi khoảng thời gian phụ, độ chi tiết giây ngày sửa đổi khơng đầy đủ Để giải vấn đề này, HTTP cho phép bạn so sánh version Identifiers document gọi entity tags Entity tags nhãn tùy ý đính kèm với document Chúng bao gồm serial number tên version cho document, checksum vân tay khác nội dung document Khi nhà xuất tạo thay đổi document, có thẻ thay đổi entity tag document để thể version Cache sau sử dụng If-None-Match conditon header để lấy copy document entity tag thay đổi Trong hình 7-15, cache có document với entity tag “v2.6” Nó xác nhận lại với server để hỏi đối tượng tag khơng phù hợp Trong hình 715, tag phù hợp, 304 Not Modified response trả lại Người dịch: Nguyễn Trường Hận Nếu entity tag server thay đổi (có thể “v3.0”), server trả nội dung response OK, kèm với nội dung new entity tag Một vài entity tag bao gồm header If-None-Match, để nói cho server cache copy đối tượng với enitty tag Weak and Strong Validators (Trình xác thực mạnh yếu) Cache sử dụng entity tag để xác định liệu cache phiên lưu nhớ cache có cập nhật với máy chủ khơng Trong cách này, entity tag ngày last-modified trình xác thực nhớ cache Server muốn cho phép thay đổi document không đáng kể mà không làm hiệu lực tất lưu nhớ cache HTTP/1.1 hỗ trợ “weak validator”, mà cho phép server yêu cầu tương đương “good enough” nội dung thay đổi Xác thực mạnh thay đổi thời gian mà nội dung thay đổi Xác thực yếu cho phép vài nội dung thay đổi thường thay đổi ý nghĩa quan trọng nội dung thay đổi Một vài hoạt động thực sử dụng xác thực yếu (ví dụ Người dịch: Nguyễn Trường Hận điều kiện tìm nạp partial-range), server nhận dạng trình xác thực yếu với tiền tố “W/” prefix: Một entity tag mạng phải thay đổi thay đổi giá trị entity liên kết cách Một entity yếu nên thay đổi enitty thay đổi liên kết theo ngữ nghĩa When to Use Entity Tags and Last-Modified Dates HTTP/1.1 client phải sử dụng entity tag validator server gửi trả lại entity tag, Nếu server gửi trả lại giá trị Last-modified, client sử dụng validation If-Modified-Since Nếu entity tag last-modified date hợp lệ, cliẻn nên sử dụng việc kiểm tra lại, cho phép cache HTTP/1.0 HTTP/1.1 phản hồi cách thích đáng Sever HTTP/1.1 nên gửi entity tag validator trừ khơng khả thi để tạo entity tag validator enity tag yếu thay entity tag mạnh Nếu có lợi ích cho weak validator Ngồi ra, cón gửi giá trị last-modified Nếu cache HTTP/1.1 server nhận request với header điều kiện fModified-Since entity tag, khơng trả 304 Not Modified response trừ việc làm phù hợp với tất header điều kiện request 7.9 Controlling Cachability HTTP định nghĩa vài cách để server định document lưu cache trước hết hạn Trong thứ tự ưu tiên giảm dần, máy chủ có thể: Đính kèm Cache-Control: header no-store vào response Đính kèm Cache-Control: header no-cache vào response Đính kèm Cache-Control: header must-revalidate vào response Đính kèm Cache-Control: header max-age vào response Đính kèm header Expires date vào response Người dịch: Nguyễn Trường Hận Khơng đính kèm thông tin hết hạn, cho phép cache xác định ngày hết hạn riêng Phần mơ tả header cache controlling No-Cache and No-Store Response Headers HTTP/1.1 cung cấp vài cách để hạn chế nhớ đệm đối tượng, phục vụ đối tượng lưu cach để suy trì tài nguyên Header no-store and no-cache ngăn chặn cache phân phát đối tượng lưu trữ chưa xác minh: Một response đánh dấu “no-store” cấm cache tạo lưu response Một cache thường chuyển tiếp no-store response tới client sau xóa đối tượng proxy server non-caching Một response đánh dấu “no-cache” thực lưu trữ local cache Nó khơng thể phục vụ từ cache tới client mà không kiểm tra độ tài nguyên server Một tên tốt cho header “do-not-serve-from-cache-withoutrevalidation” Max-Age Response Headers The Cache-Control: header max-age cho biết số giây kể từ đến từ server mà document xem Đó header maxage hoạt động maxage áp dụng cho nhớ cache public Server request cache khơng lưu vào cache document tải lại truy cập cài đặt age tối đa 0: Người dịch: Nguyễn Trường Hận Expires Response Headers Header Expires định ngày hết hạn thực tế thay thời gian tính giây Nhà thiết kế HTTP sau định rằng, nhiều server có đồng hồ khơng đồng khơng xác, tốt thể hết hạn giây trôi qua, thay thời gian tuyệt đối Một thời gian sống tương đương tính tốn việc tính tốn số giây khác giá trị hết hạn giá trị ngày Một vài server gửi trả Expires: header response để cố gắng tạo document hết hạn, cú pháp bất hợp pháp gây vấn đề với vài phẩn mềm Bạn nên cố gắng hỗ trợ cấu trúc làm đầu vào, không nên tạo Must-Revalidate Response Headers Cache cấu hình phục vụ đối tượng cũ, để cải thiện hiệu suất Nếu server muốn lưu trữ để tuân thủ nghiêm ngặt thơng tin hết hạn, đính kèm Cache-Control: The Cache-Control: header must-revalidate response nói với cache chúng phục vụ lưu cũ đối tượng mà không kiểm tra lại với server trước tiên Cache phục vụ copy Nếu server không khả dụng cache cố gắng kiểm tra độ must-revalidate, cahce phải trả 504 Gateway Timeout error Heuristic Expiration Nếu response không bao gồm Cache-Control: header max-age header Expires, cahce tính tốn tuổi lớn Bất kì thuật tốn sử dụng, kết tuổi lớn lớn 24 giờ, header Heuristic Expiration Warning (Warning 13) nên thêm vào header response Theo biết, vài trình duyệt tạo warning thơng tin hợp lệ với người dùng ... server Client truy cập tới server với tốc độ đường mạng chậm Nếu client lấy từ cache mạng LAN nhanh, caching đẩy tăng hiệu cách đặc biệt cho lượng lớn document Người dịch: Nguyễn Trường Hận Trong... kích thước cài đặt nhớ cache Public Proxy caches Public cache proxy server chia sẻ đặc biệt gọi caching proxy server proxy caches Proxy cache phục vụ document từ local cache kết nối tới server... trợ sibling caches, người dùng mở rộng HTTP với protocol, Internet Cache Protocol (ICP) HyperText Caching Protocol (HTCP), CHúng ta thảo luận protocol chapter 20 Người dịch: Nguyễn Trường Hận 7.7

Ngày đăng: 27/10/2018, 14:31

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan