亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
Guides Access control CORS Authentication Browser detection using the user agent Caching Caching FAQ Compression Conditional requests Connection management in HTTP 1.x Content negotiation Content negotiation: List of default Accept values Cookies CSP Messages Overview Protocol upgrade mechanism Proxy servers and tunneling Proxy servers and tunneling: Proxy Auto-Configuration (PAC) file Public Key Pinning Range requests Redirections Resources and specifications Resources and URIs Response codes Server-Side Access Control Session Guides: Basics Basics of HTTP Choosing between www and non-www URLs Data URIs Evolution of HTTP Identifying resources on the Web MIME Types MIME types: Complete list of MIME types CSP Content-Security-Policy Content-Security-Policy-Report-Only CSP: base-uri CSP: block-all-mixed-content CSP: child-src CSP: connect-src CSP: default-src CSP: font-src CSP: form-action CSP: frame-ancestors CSP: frame-src CSP: img-src CSP: manifest-src CSP: media-src CSP: object-src CSP: plugin-types CSP: referrer CSP: report-uri CSP: require-sri-for CSP: sandbox CSP: script-src CSP: style-src CSP: upgrade-insecure-requests CSP: worker-src Headers Accept Accept-Charset Accept-Encoding Accept-Language Accept-Ranges Access-Control-Allow-Credentials Access-Control-Allow-Headers Access-Control-Allow-Methods Access-Control-Allow-Origin Access-Control-Expose-Headers Access-Control-Max-Age Access-Control-Request-Headers Access-Control-Request-Method Age Allow Authorization Cache-Control Connection Content-Disposition Content-Encoding Content-Language Content-Length Content-Location Content-Range Content-Type Cookie Cookie2 Date DNT ETag Expect Expires Forwarded From Headers Host If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Keep-Alive Large-Allocation Last-Modified Location Origin Pragma Proxy-Authenticate Proxy-Authorization Public-Key-Pins Public-Key-Pins-Report-Only Range Referer Referrer-Policy Retry-After Server Set-Cookie Set-Cookie2 SourceMap Strict-Transport-Security TE Tk Trailer Transfer-Encoding Upgrade-Insecure-Requests User-Agent User-Agent: Firefox Vary Via Warning WWW-Authenticate X-Content-Type-Options X-DNS-Prefetch-Control X-Forwarded-For X-Forwarded-Host X-Forwarded-Proto X-Frame-Options X-XSS-Protection Methods CONNECT DELETE GET HEAD Methods OPTIONS PATCH POST PUT Status 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Payload Too Large 414 URI Too Long 415 Unsupported Media Type 416 Range Not Satisfiable 417 Expectation Failed 426 Upgrade Required 428 Precondition Required 429 Too Many Requests 431 Request Header Fields Too Large 451 Unavailable For Legal Reasons 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 511 Network Authentication Required Status
characters

壓縮是提高網(wǎng)站性能的重要方法。對于某些文檔,最多可減少70%的尺寸可降低帶寬容量需求。多年來,算法也變得更加高效,并且新的算法得到了客戶端和服務(wù)器的支持。

在實(shí)踐中,Web開發(fā)人員不需要實(shí)現(xiàn)壓縮機(jī)制,瀏覽器和服務(wù)器都已經(jīng)實(shí)現(xiàn)了壓縮機(jī)制,但他們必須確保服務(wù)器配置充分。壓縮發(fā)生在三個(gè)不同的級別:

  • 首先一些文件格式是用特定的優(yōu)化方法壓縮的,

  • 那么通用加密可以在HTTP級別發(fā)生(資源從頭到尾被壓縮傳輸),

  • 最后可以在HTTP連接的兩個(gè)節(jié)點(diǎn)之間的連接級別定義壓縮。

文件格式壓縮

每種數(shù)據(jù)類型都有一些冗余,那就是浪費(fèi)的空間。如果文本通常具有高達(dá)60%的冗余度,那么對于音頻和視頻等其他媒體,此速率可能會更高。與文本不同,這些其他媒體類型正在占用大量空間來存儲,并且需要重新獲得這種浪費(fèi)的空間顯得非常早。工程師設(shè)計(jì)了針對特定用途設(shè)計(jì)的文件格式所使用的優(yōu)化壓縮算法。用于文件的壓縮算法可以分為兩大類:

  • 無損壓縮,其中壓縮 - 解壓縮循環(huán)不會改變恢復(fù)的數(shù)據(jù)。它匹配(字節(jié)到字節(jié))與原始。對于圖像gifpng使用無損壓縮。

  • 有損壓縮是循環(huán)改變原始數(shù)據(jù)的地方,對用戶來說是不可感知的。

Web上的視頻格式是有損和面向圖像的,如jpeg。

有些格式可以用于無損壓縮或有損壓縮,如webp通常有損算法可以配置為壓縮或多或少,這當(dāng)然會導(dǎo)致更少或更多的質(zhì)量。為了獲得更好的網(wǎng)站性能,在保持可接受的質(zhì)量水平的同時(shí)盡可能進(jìn)行壓縮是理想的選擇。對于圖像來說,由工具生成的圖像可能無法針對Web進(jìn)行優(yōu)化; 建議使用能夠以所需質(zhì)量盡可能壓縮的工具。有很多專門為此設(shè)計(jì)的工具。

有損壓縮算法通常比無損壓縮算法更高效。

由于壓縮對特定類型的文件效果更好,通常不會再次壓縮它們。事實(shí)上,由于開銷的成本(算法通常需要一個(gè)增加初始大小的字典)可能會高于額外的壓縮增益,導(dǎo)致文件較大,因此這往往是反效果的。不要將以下兩種技術(shù)用于壓縮格式的文件。

端到端壓縮

對于壓縮,端到端壓縮是網(wǎng)站最大的性能改進(jìn)所在。端到端壓縮指的是壓縮由服務(wù)器完成的消息主體,并在到達(dá)客戶端之前保持不變。無論中間節(jié)點(diǎn)是什么,它們都不會影響身體。

所有現(xiàn)代瀏覽器和服務(wù)器都支持它,唯一需要協(xié)商的是要使用的壓縮算法。這些算法針對文本進(jìn)行了優(yōu)化。在20世紀(jì)90年代,壓縮技術(shù)正在快速發(fā)展,許多連續(xù)的算法已被添加到可能的選擇集中。目前,只有兩個(gè)是相關(guān)的:gzip最常見的和br新的挑戰(zhàn)者。

要選擇要使用的算法,瀏覽器和服務(wù)器使用主動(dòng)內(nèi)容協(xié)商。瀏覽Accept-Encoding器用它支持的算法和它的優(yōu)先順序發(fā)送一個(gè)標(biāo)題,服務(wù)器選擇一個(gè),用它壓縮響應(yīng)的主體,并使用Content-Encoding標(biāo)題告訴瀏覽器它選擇的算法。由于內(nèi)容協(xié)商已經(jīng)被用來根據(jù)編碼來選擇一個(gè)表示,所以在響應(yīng)Vary中至少包含一個(gè)包含Content-Encoding這個(gè)標(biāo)題的報(bào)頭; 這樣,緩存將能夠緩存資源的不同表示。

由于壓縮帶來顯著的性能改進(jìn),建議將其激活為所有文件,但已經(jīng)壓縮的文件如圖像,音頻文件和視頻。

Apache支持壓縮并使用mod_deflate ; 對于nginx有ngx_http_gzip_module ; 對于IIS,<httpCompression>元素。

逐跳壓縮

逐跳壓縮盡管與端到端壓縮類似,但其差異在于一個(gè)基本要素:壓縮不會發(fā)生在服務(wù)器的資源中,從而創(chuàng)建一個(gè)特定的表示,然后傳輸,但是在客戶端和服務(wù)器之間的路徑上的任何兩個(gè)節(jié)點(diǎn)之間的消息。連續(xù)的中間節(jié)點(diǎn)之間的連接可以應(yīng)用不同的壓縮。

為此,HTTP使用類似于內(nèi)容協(xié)商的機(jī)制進(jìn)行端對端壓縮:發(fā)送請求的節(jié)點(diǎn)使用TE標(biāo)頭通知它的意愿,而另一節(jié)點(diǎn)選擇適當(dāng)?shù)姆椒?,?yīng)用它并指示它的選擇Transfer-Encoding頭。

實(shí)際上,逐跳壓縮對于服務(wù)器和客戶端是透明的,并且很少使用。TE并且Transfer-Encoding主要用于通過塊發(fā)送響應(yīng),從而允許在不知道其長度的情況下開始傳輸資源。

請注意,Transfer-Encoding在跳躍層使用和壓縮非常罕見,大多數(shù)服務(wù)器(如Apache,nginx或IIS)都沒有簡單的方法來配置它。這種配置通常發(fā)生在代理級別。

Previous article: Next article: