Universidad de Costa Rica Escuela de Ciencias de la Computación e Informática |
Examen 01 [06-Set-2011] |
CI-2413 Desarrollo de aplicaciones web Profesor: Jeisson Hidalgo Céspedes |
[10%] Explique cómo la guerra entre los navegadores Netscape Navigator e Internet Explorer le afecta a usted en la actualidad como desarrollador web. ¿Cuáles habrían sido las consecuencias si no hubiese existido esta guerra y todos los navegadores se hubiesen apegado a los estándares del Consorcio Web (W3C) desde un inicio?
[30%] Una persona intenta acceder a http://www.google.com/. El diagrama de secuencia de abajo muestra la solicitud del navegador y la respuesta inicial del servidor. ¿Qué debe hacer el navegador con esta respuesta? Complete el diagrama de secuencia hasta que el navegador termine el cargado completo de la página de búsqueda de Google como hace habitualmente. Asuma que dicha página incluye el siguiente contenido:
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>Google</title></head> <body> <img src="/images/google.png" alt="" /> <form name="f" action="/search" method="GET" onsubmit="return q.value!=''" role="search"> <input value="" title="Search" size="41" autocomplete="off" type="text" name="q"/> <button value="Search" type="submit" name="btnG"/> </form> </body> </html>
[60%] Suponga que un cliente tiene repetidas dificultades para localizar eficientemente activos en su empresa dispersa en varias sucursales, y le ha contratado para que le desarrolle un sistema de administración del inventario, el cual debe ser accesible vía web.
Los activos se relacionan jerárquicamente. Por ejemplo, un edificio de la empresa tiene salas, las salas contienen escritorios, pizarras, teléfonos, computadoras, etc; una computadora tiene procesadores, memorias RAM, discos duros, etc; y así por el estilo.
El cliente necesita distinguir cuáles activos son fijos y cuáles no; la condición de cada activo (en funcionamiento u ocioso); el estado del activo (buen estado, defectuoso, dañado); y los empleados encargados del activo. De cada empleado se necesita registrar su correo electrónico y su rol. Si un activo no tiene encargados, se asume que son los mismos del activo que lo contiene.
Para el intercambio de datos entre el navegador web y el servidor web, usted decide transmitir documentos XML por varias ventajas. Diseñe una especificación XML para representar el inventario de la empresa. Provea un documento XML de ejemplo [30%] y un DTD para el cual el documento anterior es válido [30%]. Para este ejercicio, evite redundar los detalles de los empleados en cada activo a cargo.
The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests. This response is only cacheable if indicated by a Cache-Control or Expires header field.
The temporary URI SHOULD be given by the Location field in the response. Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s).
If the 302 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.
Note: RFC 1945 and RFC 2068 specify that the client is not allowed to change the method on the redirected request. However, most existing user agent implementations treat 302 as if it were a 303 response, performing a GET on the Location field-value regardless of the original request method. The status codes 303 and 307 have been added for servers that wish to make unambiguously clear which kind of reaction is expected of the client.
The response to the request can be found under a different URI and SHOULD be retrieved using a GET method on that resource. This method exists primarily to allow the output of a POST-activated script to redirect the user agent to a selected resource. The new URI is not a substitute reference for the originally requested resource. The 303 response MUST NOT be cached, but the response to the second (redirected) request might be cacheable.
The different URI SHOULD be given by the Location field in the response. Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s).
Note: Many pre-HTTP/1.1 user agents do not understand the 303 status. When interoperability with such clients is a concern, the 302 status code may be used instead, since most user agents react to a 302 response as described here for 303.
<!ELEMENT IdElemento EspecContenido> EspecContenido := EMPTY | ANY | (a?, (b|c+)*) | #PCDATA | (#PCDATA | a)*
<!ATTLIST IdElemento IdAtributo TipoAtributo DefaultValue> TipoAtributo := CDATA | NMTOKEN | NMTOKENS | (a|b|c|d) | ID | IDREF | ENTITY DefaultValue := #REQUIRED | value | #IMPLIED
<!ENTITY [%] IdEntidad "contenido"> <!ENTITY [%] IdEntidad SYSTEM url [NDATA formato]>
<!ELEMENT book (title, chapter+)> <!ATTLIST book name ID #REQUIRED version CDATA #IMPLIED> <!ELEMENT title (#PCDATA)> <!ELEMENT chapter (title, (p|img)+)> <!ATTLIST chapter name ID #REQUIRED> <!ELEMENT p (#PCDATA)> <!ELEMENT img EMPTY> <!ATTLIST img src CDATA #REQUIRED>