Enter into、chase after... 錯?
- #enter #INTO an agreement
- He’s always #chasing #AFTER women
明報| 英文 | 毛孟靜
————————-
有網上英語教室提出以下的錯與對例句:
Incorrect: We were not allowed to enter into the house.
Correct: We were not allowed to enter the house.
兩句話都是說,我們不准進入屋子。唯一的分別是,說enter 就好,enter into 是錯的。
事實是,enter 本身解作進入,into 也是進入的意思,enter into 似乎就不必要地重疊了。
但這並不等於enter into 永遠是錯的,#英文中確有enter #into 的講法。譬如說:
• The two investors decided to enter into a long term business relationship. 兩名投資者決定進入一段長久的營商關係。
類似的用法有enter into an agreement 合約、協議;以及a discussion 討論、對話。
也即是說,enter into 的講法不但正確,而且頗為普遍,用來表達投入或積極參與、熱衷於某事:it is correct and common when it means to participate in, to take an active role or interest in something.
• The ongoing protests have prompted him to quit banking to enter into politics. 持續的抗爭促使他放棄銀行業,投身政治。
• After a long stand-off, the two sides have finally agreed to enter into negotiations. 經過一段長時間的僵持,雙方終於決定談判。
另一個跟enter into 一樣、會引起類似文首疑問的詞組,是chase after。
大家都可能聽過的說法是,chase 本身已解作追逐,要追,當然是從後面追,所以只應該說I chased him 我追他,而不會說I chased after him 我從後面追他?
答案是,不一定呢,#英文肯定有chase #after 的講法。
• He took off, and I chased him. 他拔腳跑了,我追他。
• He took off more than a minute ago, but I decided to still chase after him. 他超過一分鐘前就拔腳跑了,但我仍然決定去追他。
上面兩句說話最大的分別,是第一句的行動是即時的,而第二句的追逐,就明顯有時間及距離上的分別,因而有「可望而不可即」的場景。
也許就同時解釋了chase after 是指男女關係上的追求。
- He is always chasing after women. 他會追求任何女子。
- Chasing after material possessions seems to be his goal in life. 他的人生目標似乎就是追求擁有物質。
總之要記得,enter into、chase after 都是正確的英文用法。
文︰毛孟靜
同時也有1部Youtube影片,追蹤數超過18萬的網紅SGD LOL - TOP,也在其Youtube影片中提到,背景音樂:影片片尾備註 ----------------------------------------------------------------------------------------------------------- Video Clip Sources: https://ww...
「be allowed to用法」的推薦目錄:
- 關於be allowed to用法 在 Claudia Mo/毛孟靜 Facebook
- 關於be allowed to用法 在 Eric's English Lounge Facebook
- 關於be allowed to用法 在 英文多一點 A Little More English Facebook
- 關於be allowed to用法 在 SGD LOL - TOP Youtube
- 關於be allowed to用法 在 【阪神】岡田監督がぼやく「知らん…」ぼやき連発 ... - YouTube 的評價
- 關於be allowed to用法 在 YouTube Data API Overview - Google for Developers 的評價
be allowed to用法 在 Eric's English Lounge Facebook 八卦
[詞彙區別] 同學們,在寫學術文章的時候是不是很難區分thus, therefore, hence?
雖然這幾個字都是副詞,字義上也大致被認為是「所以」,可是用法卻有細膩的區別。
★★★★Thus★★★★
1. Thus 的意思是「以這樣的方式」或「藉由如此」。
“Thus” means “in this/that way.” It relates to “HOW” - the manner in which - how something happens or comes about.
E.g. The university has drastically lowered its tuition, thus (in this way) allowing many more people the chance of higher education.
2. Thus 另外一個意思是「因此」或「於是」。
“Thus” also means as a result of something just mentioned. It, when used as a conjunctive adverb, is similar in meaning to “therefore.”
E.g. It has been discovered that using scents can trigger the sensations of love, comfort, and happiness. Thus, the sense of smell can be used as strategy to invoke new responses in consumers.
3. Thus far 的意思則是「到目前為止 」或「迄今」。
E.g. He has invested $ 12 million thus far. He will most likely invest more in the future.
★★★★Therefore★★★★
1. Therefore的意思是「出於某個原因」、「因為某個因素」或「建立在某個基礎上」。
Therefore 前面的句子提供了證據支持某個結論,而該結論將出現在下一個含有 therefore的句子中。Therefore在數學證明中是常見的。
“Therefore” means “for this reason,” or “because of this or that” - it relates to deductive reasoning, it tells WHY this or that is so, or happened.
E.g. He was late and therefore (for this reason) missed the bus.
E.g. There are frequent rock slides in that area. Therefore, no one is allowed to enter.
★★★★Hence★★★★
1. Hence意思是「 因此」或「 導致」,字義是跟therefore相同,但用法不同。
We suspect that the agency is trying to hide something, hence the need for an independent inquiry.
在這邊hence後面並非連接子句,而是接名詞片語!
2. Hence 在正式(科學)的文章可以當轉折詞,意思仍然是「 因此」。
The cost of transport is a major expense for an industry. Hence(,) factory location is an important consideration.
這邊逗號在正式寫作常省略掉。
★★★★★★★★★★★★
這三個字都有共同點,所以同學自然在使用時容易混淆,而且大部分母語者也分不太清楚這三者間的差異。但是同學在學術寫作時還是必須選擇適當的詞彙,才能精準表達自己的想法及觀點。若用字上不夠明確,很容易誤導讀者而失去原先欲傳遞的訊息。
建議同學還是要分清楚這三字細微的區別才能更精準、有效、流暢地呈現文章的要點間的連貫。
詞彙區別:http://goo.gl/xnhtQg
★★★★★★★★★★★★
Sources:
https://painintheenglish.com/case/4452/
https://goo.gl/s5VRv7
https://www.ldoceonline.com/
https://www.oxfordlearnersdictionaries.com/
https://corpus.byu.edu/coca/
https://jakubmarian.com/so-thus-therefore-and-hence-in-english/
be allowed to用法 在 英文多一點 A Little More English Facebook 八卦
#看時事學英文 #看影片學英文
今年8月22日,本次的巴西里約奧運畫下了句點,臺灣以一金二銅的成績結束了本次的奧運比賽。在今年的奧運中,發生了一件最令人感動的一幕,在女子5000公尺預賽的時候,美國隊跑者迪阿寇斯蒂諾(Abbey DAgostino)被紐西蘭隊跑者的漢布林(Nikki Hamblin)跌倒受傷,兩人互相扶持鼓勵完賽,堅持完賽的運動家精神令人感動。
來看看NewsBeatSports的影片,在VoiceTube上面有中英文字幕可以觀看 https://tw.voicetube.com/videos/41799
Good *sportsmanship* takes the spotlight during the women's 5,000 meter race at this year's Olympics.
- sportsmanship 運動家精神
sportsman就是指運動家、運動員,這個字要記得sport*s*man中間的s別忘記了,加上後綴(suffix) -ship,-ship通常表示"狀態"、"身分/職業"、"技巧/能力"或是"群組"和將形容詞變成抽象名詞,像是friendship(友誼)、professorship(教授職銜)、readership(讀者們)、hardship(艱難)。
Good sportsmanship *takes the spotlight* during the women's 5,000 meter race at this year's Olympics.
- take the spotlight 鎂光燈聚集的焦點
spotlight就是聚光燈,有許多搭配詞像是take the spotlight, turn the spotlight on, in the spotlight, steal the spotlight, put a spotlight on都是表示飽受關注。
Early on in the second heat of the race, which *took place* Aug. 16, New Zealand runner Nikki Hamblin tripped and fell on the track.
- take place 舉行
Take place跟happen是一樣的用法,要用主動語態(active voice),比如說The conference will take place in September. (該會議將會舉辦在九月。)
Both women finished the race and embraced after *crossing the finish line.*
- cross the finish line 穿越過終點線
可以學另一個很好用的片語 cross the line,指的就是越線、不太適當的言行,當有人冒犯到你、踩到你的地雷,你就可以跟他說 You've really crossed the line.
Despite their tumbles, D'Agostino and Hamblin will be allowed to advance to the semifinals.
- semifinal 準決賽
前綴(prefix) semi-通常是指"半"或是"部分",final是決賽的意思,所以semifinal就是準決賽,另外預賽是tryout、初賽是preliminary。semi-常見的字還有semiannual(半年一次的)、semi-formal(半正式的)、semiconductor(半導體)、semiofficial(半官方的)等。
圖片來源: 截自NewsBeatSports影片-Olympic Runners Help Each Other After Falling During Race
be allowed to用法 在 SGD LOL - TOP Youtube 的評價
背景音樂:影片片尾備註
-----------------------------------------------------------------------------------------------------------
Video Clip Sources:
https://www.reddit.com/r/leagueoflegends/
https://medal.tv/league-of-legends
Fan contribution
music Sources:
youtube.com/user/NoCopyrightSounds
youtube.com/user/MonstercatMedia
youtube.com/user/freemusicwave
-----------------------------------------------------------------------------------------------------------
感謝你的觀看,歡迎分享,也可以訂閱我,隨時追蹤最新影片
剪輯好笑的每周VOD精華及噴笑嗑藥台式翻譯
希望能讓精華更有趣 翻譯並非正統可能有錯或超譯 請見諒
我們也經常剪輯英雄聯盟搞笑爆笑,技術,中文翻譯,實況主選手等的影片,也可以在下方留言,讓我幫你剪輯介紹給大家認識。
諮詢信箱:sgdlolhigh69@gmail.com
投稿信箱:sgdlolhigh69@gmail.com(絕地求生暫時停止投稿,僅接受英雄聯盟)
-----------------------------------------------------------------------------------------------------------
Video and music has the player's permission to feature their clip .was shared by the owner and allowed for use or we purchased.
-----------------------------------------------------------------------------------------------------------
COPYRIGHT ISSUES:
We make these videos with the intention of educating LoL players how to increase and improve own skills for better playing in some segments of the game, but to share those in quality compilation with other people.
One of our videos was shared by the owner and allowed for use or we purchased. These videos are made as a montage, consist of fragments from several different LoL matches. The content displayed in the video is recorded within the game, If any owner of clips, used in our compilation, has a copyright issue, feel free to contact us by gmail . We will remove the clip, video or come to an agreement. Thank you.
Using or sharing our compilations is allowed, so feel free to share it anywhere, but it would be nice, to use direct link of video, not of copies.
Thanks !
be allowed to用法 在 YouTube Data API Overview - Google for Developers 的八卦
Introduction
This document is intended for developers who want to write applications that interact with YouTube. It explains basic concepts of YouTube and of the API itself. It also provides an overview of the different functions that the API supports.
Before you startYou need a Google Account to access the Google API Console, request an API key, and register your application.
Create a project in the Google Developers Console and obtain authorization credentials so your application can submit API requests.
After creating your project, make sure the YouTube Data API is one of the services that your application is registered to use:
Go to the API Console and select the project that you just registered.
Visit the Enabled APIs page.
In the list of APIs, make sure the status is ON for the YouTube Data API v3.
If your application will use any API methods that require user authorization, read the authentication guide to learn how to implement OAuth 2.0 authorization.
Select a client library to simplify your API implementation.
Familiarize yourself with the core concepts of the JSON (JavaScript Object Notation) data format. JSON is a common, language-independent data format that provides a simple text representation of arbitrary data structures. For more information, see json.org.
Resources and resource types
A resource is an individual data entity with a unique identifier. The table below describes the different types of resources that you can interact with using the API.
Resources
activity
Contains information about an action that a particular user has taken on the YouTube site. User actions that are reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, and posting a channel bulletin, among others.
channel
Contains information about a single YouTube channel.
channelBanner
Identifies the URL to use to set a newly uploaded image as the banner image for a channel.
channelSection
Contains information about a set of videos that a channel has chosen to feature. For example, a section could feature a channel's latest uploads, most popular uploads, or videos from one or more playlists.
guideCategory
Identifies a category that YouTube associates with channels based on their content or other indicators, such as popularity. Guide categories seek to organize channels in a way that makes it easier for YouTube users to find the content they're looking for. While channels could be associated with one or more guide categories, they are not guaranteed to be in any guide categories.
i18nLanguage
Identifies an application language that the YouTube website supports. The application language can also be referred to as a UI language.
i18nRegion
Identifies a geographic area that a YouTube user can select as the preferred content region. The content region can also be referred to as a content locale.
playlist
Represents a single YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users.
playlistItem
Identifies a resource, such as a video, that is part of a playlist. The playlistItem resource also contains details that explain how the included resource is used in the playlist.
search result
Contains information about a YouTube video, channel, or playlist that matches the search parameters specified in an API request. While a search result points to a uniquely identifiable resource, like a video, it does not have its own persistent data.
subscription
Contains information about a YouTube user subscription. A subscription notifies a user when new videos are added to a channel or when another user takes one of several actions on YouTube, such as uploading a video, rating a video, or commenting on a video.
thumbnail
Identifies thumbnail images associated with a resource.
video
Represents a single YouTube video.
videoCategory
Identifies a category that has been or could be associated with uploaded videos.
watermark
Identifies an image that displays during playbacks of a specified channel's videos. The channel owner can also specify a target channel to which the image links as well as timing details that determine when the watermark appears during video playbacks and then length of time it is visible.
Note that, in many cases, a resource contains references to other resources. For example, a playlistItem
resource's snippet.resourceId.videoId
property identifies a video resource that, in turn, contains complete information about the video. As another example, a search result contains either a videoId
, playlistId
, or channelId
property that identifies a particular video, playlist, or channel resource.
The following table shows the most common methods that the API supports. Some resources also support other methods that perform functions more specific to those resources. For example, the videos.rate
method associates a user rating with a video, and the thumbnails.set
method uploads a video thumbnail image to YouTube and associates it with a video.
Operations
list
Retrieves (
GET
) a list of zero or more resources.insert
Creates (
POST
) a new resource.update
Modifies (
PUT
) an existing resource to reflect data in your request.delete
Removes (
DELETE
) a specific resource.The API currently supports methods to list each of the supported resource types, and it supports write operations for many resources as well.
The table below identifies the operations that are supported for different types of resources. Operations that insert, update, or delete resources always require user authorization. In some cases, list
methods support both authorized and unauthorized requests, where unauthorized requests only retrieve public data while authorized requests can also retrieve information about or private to the currently authenticated user.
Supported Operations
list
insert
update
delete
activity
caption
channel
channelBanner
channelSection
comment
commentThread
guideCategory
i18nLanguage
i18nRegion
playlist
playlistItem
search result
subscription
thumbnail
video
videoCategory
watermark
Quota usage
The YouTube Data API uses a quota to ensure that developers use the service as intended and do not create applications that unfairly reduce service quality or limit access for others. All API requests, including invalid requests, incur at least a one-point quota cost. You can find the quota available to your application in the API Console.
Projects that enable the YouTube Data API have a default quota allocation of 10,000 units per day, an amount sufficient for the overwhelming majority of our API users. Default quota, which is subject to change, helps us optimize quota allocations and scale our infrastructure in a way that is more meaningful to our API users. You can see your quota usage on the Quotas page in the API Console.
Note: If you reach the quota limit, you can request additional quota by
completing the Quota extension
request form for YouTube API Services.
Google calculates your quota usage by assigning a cost to each request. Different types of
operations have different quota costs. For example:
A read operation that retrieves a list of resources -- channels, videos, playlists -- usually
costs 1 unit.
A write operation that creates, updates, or deletes a resource usually has costs
50
units.A search request costs
100
units.A video upload costs
1600
units.The Quota costs for API requests table shows the
quota cost of each API method. With these rules in mind, you can estimate the number of requests
that your application could send per day without exceeding your quota.
The API allows, and actually requires, the retrieval of partial resources so that applications avoid transferring, parsing, and storing unneeded data. This approach also ensures that the API uses network, CPU, and memory resources more efficiently.
The API supports two request parameters, which are explained in the following sections, that enable you to identify the resource properties that should be included in API responses.
The part
parameter identifies groups of properties that should be returned for a resource.
The fields
parameter filters the API response to only return specific properties within the requested resource parts.
part
parameterThe part
parameter is a required parameter for any API request that retrieves or returns a resource. The parameter identifies one or more top-level (non-nested) resource properties that should be included in an API response. For example, a video
resource has the following parts:
snippet
contentDetails
fileDetails
player
processingDetails
recordingDetails
statistics
status
suggestions
topicDetails
All of these parts are objects that contain nested properties, and you can think of these objects as groups of metadata fields that the API server might (or might not) retrieve. As such, the part
parameter requires you to select the resource components that your application actually uses. This requirement serves two key purposes:
It reduces latency by preventing the API server from spending time retrieving metadata fields that your application doesn't use.
It reduces bandwidth usage by reducing (or eliminating) the amount of unnecessary data that your application might retrieve.
Over time, as resources add more parts, these benefits will only increase since your application will not be requesting newly introduced properties that it doesn't support.
How to use thefields
parameterThe fields
parameter filters the API response, which only contains the resource parts identified in the part
parameter value, so that the response only includes a specific set of fields. The fields
parameter lets you remove nested properties from an API response and thereby further reduce your bandwidth usage. (The part
parameter cannot be used to filter nested properties from a response.)
The following rules explain the supported syntax for the fields
parameter value, which is loosely based on XPath syntax:
Use a comma-separated list (fields=a,b
) to select multiple fields.
Use an asterisk (fields=*
) as a wildcard to identify all fields.
Use parentheses (fields=a(b,c)
) to specify a group of nested properties that will be included in the API response.
Use a forward slash (fields=a/b
) to identify a nested property.
In practice, these rules often allow several different fields
parameter values to retrieve the same API response. For example, if you want to retrieve the playlist item ID, title, and position for every item in a playlist, you could use any of the following values:
fields=items/id,playlistItems/snippet/title,playlistItems/snippet/position
fields=items(id,snippet/title,snippet/position)
fields=items(id,snippet(title,position))
Note: As with all query parameter values, the fields
parameter value must be URL encoded. For better readability, the examples in this document omit the encoding.
The examples below demonstrate how you can use the part
and fields
parameters to ensure that API responses only include the data that your application uses:
Example 1 returns a video resource that includes four parts as well as
kind
and etag
properties.Example 2 returns a video resource that includes two parts as well as
kind
and etag
properties.Example 3 returns a video resource that includes two parts but excludes
kind
and etag
properties.Example 4 returns a video resource that includes two parts but excludes
kind
and etag
as well as some nested properties in the resource's snippet
object.Example 1
URL: https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=YOUR_API_KEY
&part=snippet,contentDetails,statistics,statusDescription: This example retrieves avideo
resource and identifies several
resource parts that should be included in the API response.API response:
{
"kind": "youtube#videoListResponse",
"etag": "\"UCBpFjp2h75_b92t44sqraUcyu0/sDAlsG9NGKfr6v5AlPZKSEZdtqA\"",
"videos": [
{
"id": "7lCDEYXw3mM",
"kind": "youtube#video",
"etag": "\"UCBpFjp2h75_b92t44sqraUcyu0/iYynQR8AtacsFUwWmrVaw4Smb_Q\"",
"snippet": {
"publishedAt": "2012-06-20T22:45:24.000Z",
"channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
"title": "Google I/O 101: Q&A On Using Google APIs",
"description": "Antonio Fuentes speaks to us and takes questions on working with Google APIs and OAuth 2.0.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/7lCDEYXw3mM/default.jpg"
},
"medium": {
"url": "https://i.ytimg.com/vi/7lCDEYXw3mM/mqdefault.jpg"
},
"high": {
"url": "https://i.ytimg.com/vi/7lCDEYXw3mM/hqdefault.jpg"
}
},
"categoryId": "28"
},
"contentDetails": {
"duration": "PT15M51S",
"aspectRatio": "RATIO_16_9"
},
"statistics": {
"viewCount": "3057",
"likeCount": "25",
"dislikeCount": "0",
"favoriteCount": "17",
"commentCount": "12"
},
"status": {
"uploadStatus": "STATUS_PROCESSED",
"privacyStatus": "PRIVACY_PUBLIC"
}
}
]
}
Example 2
URL: https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=YOUR_API_KEY
&part=snippet,statisticsDescription: This example modifies thepart
parameter value so that the
contentDetails
andstatus
properties are not included
in the response.API response:
{
"kind": "youtube#videoListResponse",
"etag": "\"UCBpFjp2h75_b92t44sqraUcyu0/sDAlsG9NGKfr6v5AlPZKSEZdtqA\"",
"videos": [
{
"id": "7lCDEYXw3mM",
"kind": "youtube#video",
"etag": "\"UCBpFjp2h75_b92t44sqraUcyu0/iYynQR8AtacsFUwWmrVaw4Smb_Q\"",
"snippet": {
"publishedAt": "2012-06-20T22:45:24.000Z",
"channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
"title": "Google I/O 101: Q&A On Using Google APIs",
"description": "Antonio Fuentes speaks to us and takes questions on working with Google APIs and OAuth 2.0.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/7lCDEYXw3mM/default.jpg"
},
"medium": {
"url": "https://i.ytimg.com/vi/7lCDEYXw3mM/mqdefault.jpg"
},
"high": {
"url": "https://i.ytimg.com/vi/7lCDEYXw3mM/hqdefault.jpg"
}
},
"categoryId": "28"
},
"statistics": {
"viewCount": "3057",
"likeCount": "25",
"dislikeCount": "0",
"favoriteCount": "17",
"commentCount": "12"
}
}
]
}
Example 3
URL: https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=YOUR_API_KEY
&part=snippet,statistics&fields=items(id,snippet,statistics)Description: This example adds thefields
parameter to remove all
kind
andetag
properties from the API response.API response:
{
"videos": [
{
"id": "7lCDEYXw3mM",
"snippet": {
"publishedAt": "2012-06-20T22:45:24.000Z",
"channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
"title": "Google I/O 101: Q&A On Using Google APIs",
"description": "Antonio Fuentes speaks to us and takes questions on working with Google APIs and OAuth 2.0.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/7lCDEYXw3mM/default.jpg"
},
"medium": {
"url": "https://i.ytimg.com/vi/7lCDEYXw3mM/mqdefault.jpg"
},
"high": {
"url": "https://i.ytimg.com/vi/7lCDEYXw3mM/hqdefault.jpg"
}
},
"categoryId": "28"
},
"statistics": {
"viewCount": "3057",
"likeCount": "25",
"dislikeCount": "0",
"favoriteCount": "17",
"commentCount": "12"
}
}
]
}
Example 4
URL: https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=YOUR_API_KEY
&fields=items(id,snippet(channelId,title,categoryId),statistics)&part=snippet,statisticsDescription: This example modifies thefields
parameter from example 3
so that in the API response, each video resource'ssnippet
object only includes thechannelId
,title
,
andcategoryId
properties.API response:
{
"videos": [
{
"id": "7lCDEYXw3mM",
"snippet": {
"channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
"title": "Google I/O 101: Q&A On Using Google APIs",
"categoryId": "28"
},
"statistics": {
"viewCount": "3057",
"likeCount": "25",
"dislikeCount": "0",
"favoriteCount": "17",
"commentCount": "12"
}
}
]
}
Optimizing performance
Using ETags
ETags, a standard part of the HTTP protocol, allow applications to refer to a specific version of a particular API resource. The resource could be an entire feed or an item in that feed. This functionality supports the following use cases:
Caching and conditional retrieval – Your application can cache API resources and their ETags. Then, when your application requests a stored resource again, it specifies the ETag associated with that resource. If the resource has changed, the API returns the modified resource and the ETag associated with that version of the resource. If the resource has not changed, the API returns an HTTP 304 response (Not Modified
), which indicates that the resource has not changed. Your application can reduce latency and bandwidth usage by serving cached resources in this manner.
The client libraries for Google APIs differ in their support of ETags. For example, the JavaScript client library supports ETags via a whitelist for allowed request headers that includes If-Match
and If-None-Match
. The whitelist allows normal browser caching to occur so that if a resource's ETag has not changed, the resource can be served from the browser cache. The Obj-C client, on the other hand, does not support ETags.
Protecting against inadvertent overwrites of changes – ETags help to ensure that multiple API clients don't inadvertently overwrite each other's changes. When updating or deleting a resource, your application can specify the resource's ETag. If the ETag doesn't match the most recent version of that resource, then the API request fails.
Using ETags in your application provides several benefits:
The API responds more quickly to requests for cached but unchanged resources, yielding lower latency and lower bandwidth usage.Your application will not inadvertently overwrite changes to a resource that were made from another API client.
The Google APIs Client Library for JavaScript supports If-Match
and If-None-Match
HTTP request headers, thereby enabling ETags to work within the context of normal browser caching.
Using gzip
You can also reduce the bandwidth needed for each API response by enabling gzip compression. While your application will need additional CPU time to uncompress API responses, the benefit of consuming fewer network resources usually outweighs that cost.
To receive a gzip-encoded response you must do two things:
Set the Accept-Encoding
HTTP request header to gzip
.
Modify your user agent to contain the string gzip
.
The sample HTTP headers below demonstrate these requirements for enabling gzip compression:
Accept-Encoding: gzip
User-Agent: my program (gzip)
... <看更多>
be allowed to用法 在 【阪神】岡田監督がぼやく「知らん…」ぼやき連発 ... - YouTube 的八卦
ぼやき連発の岡田監督に高木豊の考えは?青柳の起 用法 を提言! ... License. Creative Commons Attribution license (reuse allowed ) ... ... <看更多>