این سند مرجع کاملی برای پرس و جو و پاسخ برای API گزارش قیف چند کانالی ارائه می دهد.
معرفی
API گزارش قیفهای چند کانالی به شما امکان میدهد اطلاعات گزارش قیفهای چند کانالی Google Analytics را درخواست کنید. هر گزارش شامل آماری است که از دادههایی که کد رهگیری به آنالیتیکس ارسال میکند، بهعنوان ابعاد و معیارها سازماندهی شده است. با انتخاب ترکیبی از ابعاد و معیارهای خود، می توانید از Reporting API برای ایجاد گزارش های سفارشی متناسب با مشخصات خود استفاده کنید.
API حاوی یک روش واحد است که داده های گزارش را درخواست می کند: report.get. با این روش، شناسه جدولی را ارائه می کنید که مطابق با نمای (پروفایل) مورد نظر برای بازیابی داده ها است. علاوه بر این موارد زیر را مشخص می کنید:
- ترکیبی از ابعاد و معیارها.
- یک محدوده تاریخ
- مجموعه ای از پارامترهای گزینه که کنترل می کند چه داده هایی برگردانده می شود
API روش report.get را در نقطه پایانی REST در دسترس قرار میدهد: https://www.googleapis.com/analytics/v3/data/mcf . بخش زیر یک نمونه درخواست را نشان می دهد و هر یک از پارامترها را توضیح می دهد.
درخواست
API یک روش واحد برای درخواست داده ارائه می دهد:
analytics.data.mcf.get()
API همچنین می تواند به عنوان نقطه پایانی REST مورد جستجو قرار گیرد:
Authorization: Bearer {oauth2-token} GET https://www.googleapis.com/analytics/v3/data/mcf ?ids=ga:12345 &metrics=mcf:totalConversions,mcf:totalConversionValue &start-date=2011-10-01 &end-date=2011-10-31
هر پارامتر پرس و جو URL یک پارامتر پرس و جوی API را مشخص می کند که باید URL کدگذاری شده باشد .
همه درخواستها به API گزارش قیفهای چند کانالی ترجیحاً از طریق OAuth 2.0 مجاز هستند.
خلاصه پارامترهای پرس و جو
جدول زیر تمام پارامترهای پرس و جو پذیرفته شده توسط API گزارش قیف چند کانالی را خلاصه می کند. برای توضیح دقیق روی نام هر پارامتر کلیک کنید.
نام | ارزش | ضروری | خلاصه |
---|---|---|---|
ids | string | آره | شناسه جدول منحصر به فرد فرم ga:XXXX، که در آن XXXX شناسه نمای آنالیتیکس (نمایه) است که پرس و جو داده ها را برای آن بازیابی می کند. |
start-date | string | آره | تاریخ شروع برای واکشی داده های Analytics. درخواستها میتوانند تاریخ شروع را با فرمت YYYY-MM-DD یا به عنوان یک تاریخ نسبی (مثلاً today ، yesterday یا NdaysAgo که در آن N یک عدد صحیح مثبت است) تعیین کنند. |
end-date | string | آره | تاریخ پایان برای واکشی داده های Analytics. درخواست میتواند تاریخ پایانی را با فرمت YYYY-MM-DD یا به عنوان یک تاریخ نسبی مشخص کند (به عنوان مثال، today ، yesterday یا NdaysAgo که در آن N یک عدد صحیح مثبت است). |
metrics | string | آره | فهرستی از معیارهای جدا شده با کاما، مانند mcf:totalConversions,mcf:totalConversionValue . یک جستار معتبر باید حداقل یک معیار را مشخص کند. |
dimensions | string | نه | فهرستی از ابعاد جدا شده با کاما برای گزارش قیف چند کانالی شما، مانند mcf:source,mcf:keyword . |
sort | string | نه | فهرستی از ابعاد و معیارهای جدا شده با کاما که ترتیب مرتب سازی و جهت مرتب سازی داده های برگشتی را نشان می دهد. |
filters | string | نه | فیلترهای ابعاد یا متریک که داده های بازگردانده شده برای درخواست شما را محدود می کند. |
samplingLevel | string | نه | سطح نمونه گیری مورد نظر. مقادیر مجاز:
|
start-index | integer | نه | اولین ردیف داده برای بازیابی، از 1 شروع می شود. از این پارامتر به عنوان مکانیزم صفحه بندی همراه با پارامتر max-results استفاده کنید. |
max-results | integer | نه | حداکثر تعداد ردیف هایی که باید در پاسخ گنجانده شود. |
جزئیات پارامتر پرس و جو
شناسه
ids= ga:12345
ga:
با شناسه نمای (نمایه) گزارش است. با استفاده از روش analytics.management.profiles.list
، که id
در منبع View (نمایه) در API مدیریت Google Analytics ارائه میکند، میتوانید شناسه view (نمایه) گزارش خود را بازیابی کنید.تاریخ شروع
start-date= 2011-10-01
start-date
و end-date
در درخواست وارد نکنید، سرور یک خطا را برمیگرداند. مقادیر تاریخ می توانند برای یک تاریخ خاص با استفاده از الگوی YYYY-MM-DD
یا نسبی با استفاده از today
، yesterday
یا الگوی NdaysAgo
باشند. مقادیر باید با [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
مطابقت داشته باشند.start-date
معتبر 2011-01-01
است. محدودیت بالایی برای start-date
وجود ندارد.نمونه محدوده تاریخ برای 7 روز گذشته (از دیروز) با استفاده از تاریخ های نسبی:
&start-date=7daysAgo &end-date=yesterday
تاریخ پایان
end-date= 2011-10-31
start-date
و end-date
در درخواست وارد نکنید، سرور یک خطا را برمیگرداند. مقادیر تاریخ می توانند برای یک تاریخ خاص با استفاده از الگوی YYYY-MM-DD
یا نسبی با استفاده از today
، yesterday
یا الگوی NdaysAgo
باشند. مقادیر باید با [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
مطابقت داشته باشند.end-date
معتبر 2005-01-01
است. محدودیت بالایی برای end-date
وجود ندارد.نمونه محدوده تاریخ برای 10 روز گذشته (از امروز) با استفاده از تاریخ های نسبی:
&start-date=9daysAgo &end-date=today
ابعاد
dimensions= mcf:source,mcf:keyword
پارامتر ابعاد، کلیدهای داده اولیه را برای گزارش قیف چند کانالی شما، مانند mcf:source
یا mcf:medium
تعریف میکند. از ابعاد برای تقسیم بندی معیارهای تبدیل خود استفاده کنید. برای مثال، در حالی که میتوانید تعداد کل تبدیلهای سایت خود را بپرسید، ممکن است جالبتر باشد که تعداد تبدیلهای تقسیمبندی شده بر اساس رسانه را بپرسید. در این حالت، تعداد تبدیلها از ارگانیک، ارجاع، ایمیل و غیره را مشاهده خواهید کرد.
هنگام استفاده از dimensions
در درخواست داده، از محدودیت های زیر آگاه باشید:
- شما می توانید حداکثر 7 بعد را در هر پرس و جو ارائه کنید.
- شما نمی توانید درخواستی را ارسال کنید که فقط از ابعاد تشکیل شده باشد: باید هر ابعاد درخواستی را با حداقل یک متریک ترکیب کنید.
مقادیر در دسترس نیست
وقتی نمی توان مقدار بعد را تعیین کرد، Analytics از رشته خاص (تنظیم نشده) استفاده می کند.
معیارهای
metrics= mcf:totalConversions,mcf:totalConversionValue
آمار جمع آوری شده برای فعالیت کاربر در سایت شما، مانند تعداد کل تبدیل یا ارزش کل تبدیل. اگر یک پرس و جو فاقد پارامتر dimensions
باشد، معیارهای برگردانده شده مقادیر انبوهی را برای محدوده تاریخ درخواستی ارائه میکنند، مانند مقدار کل تبدیل کل. با این حال، هنگامی که ابعاد درخواست می شود، مقادیر بر اساس مقدار ابعاد تقسیم می شوند. برای مثال، mcf:totalConversions
درخواست شده با mcf:source
کل تبدیلها را به ازای هر منبع برمیگرداند.
هنگام درخواست معیارها، به خاطر داشته باشید:
- هر درخواستی باید حداقل یک متریک ارائه کند. یک درخواست نمی تواند فقط شامل ابعاد باشد.
- شما می توانید حداکثر 10 معیار برای هر پرس و جو ارائه کنید.
مرتب سازی
sort= mcf:source,mcf:medium
فهرستی از معیارها و ابعاد که ترتیب مرتب سازی و جهت مرتب سازی داده های برگشتی را نشان می دهد.
- ترتیب مرتب سازی با ترتیب از چپ به راست معیارها و ابعاد فهرست شده مشخص می شود.
- جهت مرتب سازی به طور پیش فرض صعودی است و می توان آن را با استفاده از پیشوند علامت منفی (
-
) در فیلد درخواستی به نزولی تغییر داد.
مرتب سازی نتایج یک پرس و جو به شما امکان می دهد سوالات مختلفی را در مورد داده های خود بپرسید. به عنوان مثال، برای پاسخ به این سوال "منابع تبدیل برتر من چیست و از طریق کدام رسانه ها؟" می توانید با پارامتر زیر یک پرس و جو ایجاد کنید. ابتدا بر اساس mcf:source
و سپس mcf:medium
، هر دو به ترتیب صعودی مرتب میشود:
sort=mcf:source,mcf:medium
برای پاسخ به سوال مرتبط "رسانه های تبدیل برتر من کدامند و از کدام منابع هستند؟"، می توانید با پارامتر زیر یک پرس و جو ایجاد کنید. ابتدا بر اساس mcf:medium
و سپس mcf:source
، هر دو به ترتیب صعودی مرتب میشود:
sort=mcf:medium,mcf:source
هنگام استفاده از پارامتر sort
، موارد زیر را در نظر داشته باشید:
- فقط بر اساس ابعاد یا مقادیر معیارهایی که در
dimensions
یا پارامترهایmetrics
استفاده کرده اید مرتب کنید. اگر درخواست شما در فیلدی که در پارامتر ابعاد یا متریک مشخص نشده است مرتب شود، یک خطا دریافت خواهید کرد. - بهطور پیشفرض، رشتهها به ترتیب حروف الفبای صعودی در محلی en-US مرتب میشوند.
- اعداد به طور پیش فرض به ترتیب عددی صعودی مرتب شده اند.
- تاریخ ها به طور پیش فرض بر اساس تاریخ به ترتیب صعودی مرتب شده اند.
فیلترها
filters= mcf:medium %3D%3Dreferral
پارامتر رشته پرس و جو filters
داده های برگشتی از درخواست شما را محدود می کند. برای استفاده از پارامتر filters
، یک بعد یا متریک برای فیلتر و به دنبال آن عبارت فیلتر ارائه دهید. به عنوان مثال، پرس و جوی زیر mcf:totalConversions
و mcf:source
برای مشاهده (پروفایل) 12134
درخواست می کند، که در آن بعد mcf:medium
referral
رشته است:
https://www.googleapis.com/analytics/v3/data/mcf ?ids=mcf:12134 &dimensions=mcf:source &metrics=mcf:totalConversions &filters=mcf:medium%3D%3Dreferral &start-date=2011-10-01 &end-date=2011-10-31
برای جزئیات ، مرجع Core Reporting API را بخوانید.
samplingLevel
samplingLevel=DEFAULT
-
DEFAULT
- پاسخ را با اندازه نمونه برمیگرداند که سرعت و دقت را متعادل میکند. -
FASTER
- پاسخ سریع با حجم نمونه کوچکتر را برمی گرداند. -
HIGHER_PRECISION
- با استفاده از حجم نمونه بزرگ، پاسخ دقیق تری را نشان می دهد، اما ممکن است منجر به کندتر شدن پاسخ شود.
DEFAULT
استفاده خواهد شد.حداکثر نتایج
max-results=100
حداکثر تعداد ردیف هایی که باید در این پاسخ گنجانده شود. میتوانید از آن در ترکیب با start-index
برای بازیابی زیرمجموعهای از عناصر استفاده کنید، یا از آن به تنهایی برای محدود کردن تعداد عناصر بازگشتی استفاده کنید، از اول شروع کنید. اگر max-results
ارائه نشود، پرس و جو حداکثر 1000 ردیف را برمی گرداند.
API گزارش قیف چند کانالی حداکثر 10000 ردیف را برای هر درخواست برمی گرداند، مهم نیست که چند ردیف درخواست کنید. همچنین میتواند ردیفهای کمتری را نسبت به درخواستی بازگرداند، اگر بخشهای بعدی آنقدر که انتظار دارید وجود نداشته باشد. به عنوان مثال، کمتر از 300 مقدار ممکن برای mcf:medium
وجود دارد، بنابراین وقتی فقط بر اساس متوسط تقسیم میشوید، نمیتوانید بیش از 300 ردیف دریافت کنید، حتی اگر max-results
روی مقدار بالاتری تنظیم کنید.
واکنش
در صورت موفقیت آمیز بودن، این درخواست یک بدنه پاسخ با ساختار JSON تعریف شده در زیر برمی گرداند.
توجه : عبارت "نتایج" به کل مجموعه سطرهایی اشاره دارد که با پرس و جو مطابقت دارند، در حالی که "پاسخ" به مجموعه ردیف هایی اشاره دارد که در صفحه فعلی نتایج بازگردانده شده اند. همانطور که در itemsPerPage توضیح داده شده است، اگر تعداد کل نتایج از اندازه صفحه برای پاسخ فعلی بیشتر باشد، می توانند متفاوت باشند.
فرمت پاسخ
{
"kind": "analytics#mcfData",
"id": string,
"query": {
"start-date": string,
"end-date": string,
"ids": string,
"dimensions": [
string
],
"metrics": [
string
],
"sort": [
string
],
"filters": string,
"samplingLevel": string,
"start-index": integer,
"max-results": integer
},
"itemsPerPage": integer,
"totalResults": integer,
"selfLink": string,
"previousLink": string,
"nextLink": string,
"profileInfo": {
"profileId": string,
"accountId": string,
"webPropertyId": string,
"internalWebPropertyId": string,
"profileName": string,
"tableId": string
},
"containsSampledData": boolean,
"sampleSize": string,
"sampleSpace": string,
"columnHeaders": [
{
"name": string,
"columnType": string,
"dataType": string
}
],
"totalsForAllResults": [
{
metricName: string,
...
}
]
"rows": [
[
McfData.Rows
]
],
}
فیلدهای پاسخ
خواص ساختار بدن پاسخ به شرح زیر تعریف می شود:
نام ملک | ارزش | شرح |
---|---|---|
kind | string | نوع منبع مقدار "analytics#mcfData" است. |
id | string | شناسه ای برای این پاسخ داده. |
query | object | این شی شامل تمام مقادیر ارسال شده به عنوان پارامتر به پرس و جو است. معنی هر فیلد در توضیح پارامتر پرس و جوی مربوطه آن توضیح داده شده است. |
query.start-date | string | تاریخ شروع. |
query.end-date | string | تاریخ پایان. |
query.ids | string | شناسه جدول منحصر به فرد |
query.dimensions[] | list | فهرست ابعاد تجزیه و تحلیل |
query.metrics[] | list | فهرست معیارهای تحلیلی |
query.sort[] | list | فهرست معیارها یا ابعادی که داده ها بر اساس آنها مرتب شده اند. |
query.filters | string | فهرست فیلترهای متریک یا ابعاد جدا شده با کاما. |
query.samplingLevel | string | Requested sampling level. |
query.start-index | integer | شاخص شروع ردیف ها. مقدار پیش فرض 1 است. |
query.max-results | integer | حداکثر نتایج در هر صفحه |
startIndex | integer | شاخص شروع سطرها که توسط پارامتر جستجوی start-index مشخص شده است. مقدار پیش فرض 1 است. |
itemsPerPage | integer | حداکثر تعداد ردیفهایی که پاسخ میتواند داشته باشد، صرفنظر از تعداد واقعی ردیفهای برگشتی. اگر پارامتر query max-results مشخص شده باشد، مقدار itemsPerPage کوچکتر از max-results یا 10000 است. مقدار پیش فرض itemsPerPage 1000 است. |
totalResults | integer | تعداد کل ردیف ها در نتیجه پرس و جو، صرف نظر از تعداد ردیف های برگشت داده شده در پاسخ. برای جستارهایی که منجر به تعداد زیادی ردیف می شود، totalResults می تواند بزرگتر از itemsPerPage باشد. برای توضیحات بیشتر در مورد totalResults و itemsPerPage برای جستارهای بزرگ به صفحه بندی مراجعه کنید. |
selfLink | string | پیوند به این صفحه از نتایج برای این پرسش داده. |
previousLink | string | پیوند به صفحه قبلی نتایج برای این پرسش داده. |
nextLink | string | پیوند به صفحه بعدی نتایج برای این پرسش داده. |
profileInfo | object | اطلاعات مربوط به نمای (نمایه) که داده برای آن درخواست شده است. اطلاعات مشاهده (نمایه) از طریق API مدیریت Google Analytics در دسترس است. |
profileInfo.profileId | string | مشاهده شناسه (نمایه)، مانند 1174 . |
profileInfo.accountId | string | شناسه حسابی که این نما (نمایه) به آن تعلق دارد، مانند 30481 . |
profileInfo.webPropertyId | string | شناسه دارایی وب که این نما (نمایه) به آن تعلق دارد، مانند UA-30481-1 . |
profileInfo.internalWebPropertyId | string | شناسه داخلی ویژگی وب که این نما (نمایه) به آن تعلق دارد، مانند UA-30481-1 . |
profileInfo.profileName | string | نام نما (نمایه). |
profileInfo.tableId | string | شناسه جدول برای مشاهده (نمایه)، متشکل از "ga:" و سپس شناسه نمایش (نمایه). |
containsSampledData | boolean | اگر پاسخ حاوی داده های نمونه برداری شده باشد درست است. |
sampleSize | string | تعداد نمونه های مورد استفاده برای محاسبه داده های نمونه برداری شده . |
sampleSpace | string | اندازه کل فضای نمونه برداری این نشان دهنده حجم کل فضای نمونه موجود است که نمونه ها از آن انتخاب شده اند. |
columnHeaders[] | list | سرصفحههای ستونی که نام ابعاد را به دنبال نام متریک فهرست میکنند. ترتیب ابعاد و معیارها مانند مواردی است که از طریق پارامترهای metrics و dimensions در درخواست مشخص شده است. تعداد هدرها تعداد ابعاد + تعداد معیارها است. |
columnHeaders[].name | string | نام بعد یا متریک. |
columnHeaders[].columnType | string | نوع ستون. یا "DIMENSION" یا "METRIC". |
columnHeaders[].dataType | string | نوع داده. سرصفحههای ستون ابعاد فقط "STRING" یا "MCF_SEQUENCE" را به عنوان نوع داده دارند. سرصفحه های ستون متریک دارای انواع داده برای مقادیر متریک مانند "INTEGER" ، "DOUBLE" ، "CURRENCY" و غیره است. |
totalsForAllResults | object | مجموع مقادیر برای معیارهای درخواستی به عنوان جفت نامها و مقادیر معیارهای کلید-مقدار. ترتیب مجموع متریک همان ترتیب متریک مشخص شده در درخواست است. |
rows[] | list | ردیف های داده را گزارش کنید، که در آن هر ردیف حاوی لیستی از اشیاء یک شی یک { "primitiveValue": "2183" } یک { "conversionPathValue": [ { "interactionType" : "CLICK", "nodeValue" : "google" }, { "interactionType" : "CLICK", "nodeValue" : "google" } ] } |
کدهای خطا
در صورت موفقیت آمیز بودن درخواست، API گزارش قیف چند کانالی، کد وضعیت HTTP 200
را برمی گرداند. اگر در حین پردازش یک پرس و جو خطایی رخ دهد، API یک کد خطا و توضیحات را برمی گرداند. هر برنامه ای که از API تجزیه و تحلیل استفاده می کند، باید منطق مدیریت خطا را به درستی پیاده سازی کند. برای جزئیات بیشتر در مورد کدهای خطا و نحوه رسیدگی به آنها، راهنمای مرجع پاسخ به خطا را بخوانید.
آن را امتحان کنید!
از APIs Explorer زیر برای فراخوانی این روش در دادههای زنده و دیدن پاسخ استفاده کنید.
نمونه برداری
گوگل آنالیتیکس ترکیب خاصی از ابعاد و معیارها را در لحظه محاسبه می کند. برای بازگرداندن داده ها در یک زمان معقول، Google Analytics فقط ممکن است نمونه ای از داده ها را پردازش کند.
با تنظیم پارامتر samplingLevel می توانید سطح نمونه برداری را برای استفاده برای یک درخواست مشخص کنید.
اگر یک پاسخ API گزارش MCF حاوی داده های نمونه برداری شده باشد، فیلد پاسخ containsSampledData
true
خواهد بود. علاوه بر این، 2 ویژگی اطلاعاتی در مورد سطح نمونهگیری برای پرس و جو ارائه میکنند: sampleSize
و sampleSpace
. با این 2 مقدار می توانید درصد جلساتی که برای پرس و جو استفاده شده است را محاسبه کنید. به عنوان مثال، اگر sampleSize
201,000
و sampleSpace
220,000
باشد، گزارش بر اساس (201,000 / 220,000) * 100 = 91.36٪ از جلسات است.
برای توضیح کلی نمونه گیری و نحوه استفاده از آن در گوگل آنالیتیکس به Sampling مراجعه کنید.
مدیریت نتایج داده های بزرگ
اگر انتظار دارید پرس و جو شما مجموعه نتایج بزرگی را برگرداند، از دستورالعمل های زیر استفاده کنید تا به شما کمک کند پرس و جوی API خود را بهینه کنید، از خطاها جلوگیری کنید و بیش از حد سهمیه را به حداقل برسانید. توجه داشته باشید که ما با مجاز کردن حداکثر 7 بعد و 10 معیار در هر درخواست API، یک خط پایه عملکرد تنظیم میکنیم. اگرچه پردازش برخی از پرس و جوهایی که تعداد زیادی معیار و ابعاد را مشخص می کنند ممکن است نسبت به سایرین بیشتر طول بکشد، محدود کردن تعداد معیارهای درخواستی ممکن است برای بهبود عملکرد پرس و جو کافی نباشد. در عوض، می توانید از تکنیک های زیر برای بهترین نتایج عملکرد استفاده کنید.
کاهش ابعاد در هر پرس و جو
API اجازه می دهد تا حداکثر 7 بعد را در هر درخواست مشخص کنید. بسیاری از اوقات، گوگل آنالیتیکس باید نتایج این پرس و جوهای پیچیده را در لحظه محاسبه کند. اگر تعداد ردیفهای حاصل زیاد باشد، این امر میتواند زمانبر باشد. به عنوان مثال، جستجو برای کلمات کلیدی، بر اساس شهر به ساعت ممکن است با میلیون ها ردیف داده مطابقت داشته باشد. میتوانید با کاهش تعداد ردیفهایی که Google Analytics باید پردازش کند، با محدود کردن تعداد ابعاد در جستجوی خود، عملکرد را بهبود بخشید.
تقسیم پرس و جو بر اساس محدوده تاریخ
بهجای جستجو در نتایج کلیدی تاریخ در یک بازه تاریخ طولانی، هر بار یک هفته - یا حتی یک روز - درخواستهای جداگانه تشکیل دهید. البته، برای یک مجموعه داده بزرگ، حتی یک درخواست برای داده های یک روزه ممکن است بیشتر از max-results
باشد، در این صورت نمی توان از صفحه بندی اجتناب کرد. اما در هر صورت، اگر تعداد ردیفهای منطبق برای درخواست شما از max-results
بیشتر باشد، شکستن محدوده تاریخ ممکن است کل زمان بازیابی نتایج را کاهش دهد. این رویکرد می تواند عملکرد را در پرس و جوهای تک رشته ای و موازی بهبود بخشد.
صفحه بندی
صفحهبندی از طریق نتایج میتواند راهی مفید برای شکستن مجموعههای بزرگ نتایج به قطعات قابل مدیریت باشد. فیلد totalResults
تعداد ردیفهای منطبق را نشان میدهد و itemsPerPage
حداکثر تعداد ردیفهایی را میدهد که میتوان در نتیجه برگرداند. اگر نسبت totalResults
به itemsPerPage
زیاد باشد، ممکن است درخواستهای فردی بیش از حد لازم طول بکشد. اگر فقط به تعداد محدودی ردیف نیاز دارید، مثلاً برای اهداف نمایشی، ممکن است برایتان مناسب باشد که یک محدودیت صریح در اندازه پاسخ را از طریق پارامتر max-results
تعیین کنید. با این حال، اگر برنامه شما نیاز به پردازش مجموعه بزرگی از نتایج به طور کامل داشته باشد، ممکن است درخواست حداکثر ردیف های مجاز کارآمدتر باشد.
با استفاده از gzip
یک راه آسان و راحت برای کاهش پهنای باند مورد نیاز برای هر درخواست، فعال کردن فشردهسازی gzip است. اگرچه این امر به زمان اضافی CPU برای فشرده سازی نتایج نیاز دارد، معاوضه با هزینه های شبکه معمولاً آن را بسیار ارزشمند می کند. برای دریافت پاسخ کدگذاری شده با gzip، باید دو کار انجام دهید: یک هدر Accept-Encoding
تنظیم کنید، و عامل کاربری خود را طوری تغییر دهید که شامل رشته gzip
باشد. در اینجا نمونه ای از هدرهای HTTP که به درستی شکل گرفته اند برای فعال کردن فشرده سازی gzip آورده شده است:
Accept-Encoding: gzip User-Agent: my program (gzip)