Student name: YOUR-NAME-HERE
LOGIN: YOUR-CS-DEPT-LOGIN-HERE
E-mail: YOUR-EMAIL-HERE

Tufts CS 117 (Fall 2024):
Internet-scale Distributed Systems

Tufts CS 117 Assignment:
Distribution Models and HTTP
Questions

Unlike many our earlier written assignmenments in which you were expected to give extensive answers and for which your analysis and writing was graded in detail, these questions are intended as a quick confirmation that you have read the material and thought about the key issues.

IMPORTANT: your responses will be graded automatically by a script. Please do not add explanations to your answers, give phrases where only a single word or non-terminal name is requested. Fill in only the field where a response is requestsed. For True/False questions your answer should be a single letter: T or F, and no more. Empty space marked with ___ is used to indicate where your answers should go: you may leave those underscore characters and add your answer, or you may replace the ___ with your response. Do NOT edit any of the other supplied text.

Your answers to these questions will be graded, but this written submission counts significantly less than the larger ones for end-to-end, naming, etc. The big challenge here will not be answering the questions, each of which will take less than a minute once you know the material; the challenge will be to get just enough out of the reading to have a good idea what the answer is. As usual, you will have the opportunity to update your answers after class discussion, and some of these questions will be much easier to answer after that Do not stress about your initial submission before class...just do your best.


Please answer the following True/False questions, by typing T or F in the space provided (lower or uppercase T/F are both fine):

For the first three questions, consider an application in which the price of some stock (Microsoft's for example) is to be retrieved from a stock quote server. That is, the stock's symbol (MSFT in the example) will be passed to the server, and the latest stock price is to be returned.

  1. An implementation of the stock quote application based on RPC will typically be much slower than an implementation using REST.
  2. True(T) or False(F): ___
  3. REST gives an architecture in which it may be possible to bookmark (I.e. remember) a URI representing the query for the stock price?
  4. True(T) or False(F): ___
  5. If a RESTful server chooses a response format such as HTML or plain text, the same stock quote service may be usable from a Web browser as well as from user-written program at the client.
  6. True(T) or False(F): ___
  7. Both REST and RPC tend to use a request/response pattern for each interaction between client and server (not just for stock quotes, but for all applications).
  8. True(T) or False(F): ___
  9. Compared to RPC, REST tends to more gracefully handle transfers of documents and images.
  10. True(T) or False(F): ___
  11. Compared to RPC, REST tends to have more complete integration with programming languages at the client and the server
  12. True(T) or False(F): ___
  13. You will notice that just like the specification for URIs, the specification for HTTP requests and responses is set out using a formal grammar known as Augmented BNF (an extended form of a famous context free grammar known as BNF). We will be discussing ABNF and grammars in our session on URIs and RFC 3986, so this question may be easier to answer after that.

    Question: in the grammer for the format of an HTTP request, what is the name of the rule (sometimes called the non-terminal) that specifies the URI to be accessed by the request? You might want to look at section 5.1, which specifies the format of a Request-Line (which is the first line of an HTTP request).
  14. The name of ABNF grammar rule specifying the URI to be retrieved is: __________
  15. Section 5.1.1 of RFC 2616 introduces the Methods used on HTTP requests. Which of these "methods" is used in the typical request to retrieve a Web page from a server?
  16. The name of the method used to retrieve a Web page is: __________