Q2-3. How many file formats can the browser read?
主要的問題是大家對於以下的 HTTP header 有所疑惑,
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,appli cation/signed-exchange;v=b3;q=0.9\r\n
但是這件事情就只是單存的數數而已,
而且你可以跟助教說你是怎麼數的,
*/* 你只要在答案中指明是否算是一種就可以了。
如果是我的話我會說總共有七個逗號,並且把 */* 也算作一種,
所以我認為是八種。
但你也可以說總共有明確的一種 format,並加上一種 wildcard */*.
這樣不管你算是七種或是八種,
只要你有在你的答案中說明清楚,
應該不會有會錯意的情況。
但是如果答案中沒有任何的解釋,
只有兩個字(七種或八種),
那麼這個就必較不是我們要的答案。
那麼“過於複雜的”答案是什麼呢?
出題的原意是請同學們去查閱 HTTP RFC 2616,
並且找到 Accept 的欄位說明,
在文件的 14.1 Accept 中有說明:
The Accept request-header field can be used to specify certain media types which are acceptable for the response. Accept headers can be used to indicate that the request is specifically limited to a small set of desired types ...
The asterisk "*" character is used to group media types into ranges, with "*/*" indicating all media types and "type/*" indicating all subtypes of that type. The media-range MAY include media type parameters that are applicable to that range.
所以根據上述的說明,如果你的答案中明確有跟 RFC 一樣的說明,
助教可以允許你的答案是任意多種。
所以這題的標準答案是題的標準答案是沒有標準,
端看你拿出什麼樣的解釋,就要寫相對應的說明和答案。
我們會給與比較詳細的說明(也就是上課時說的 “quality” 比較好的答案)比較高的等第。
其他的答案不算是錯,但是等地比較低。
若是完全錯的答案,則會是更低的等地。