La identificación de los recursos y la representación con AjaxLa identificación de los recursos y la representaciónRESTO promueve la separación de los recursos de la representación. A modo de ejemplo, vamos a trabajar a través de la acción histórica, ejemplo de cotización. La dirección URL utilizada para recuperar la información de cotización histórica es / services/historical/AMZN/2006. El formato predeterminado generado por el servicio Web es CSV, pero por defecto sólo podía haber sido fácilmente XML o JavaScript Object Notation (JSON). Si un cliente sólo puede aceptar JSON, entonces la conversión de la CSV a JSON requiere un paso adicional y recursos adicionales.
Para optimizar esta aplicación, puede dejar que el servidor de decidir el contenido de generar sobre la base de las necesidades del cliente. Si el cliente quiere JSON, a continuación, el servidor generará JSON. Los datos que se generan como JSON, XML y CSV es lo mismo. Así, puede decirse que la información es el recurso, y JSON, XML y CSV son la representación. La separación de los recursos de la representación significa que una URL única tendrá representaciones separadas. La representación que se envía depende del valor de la Accept HTTP * cabecera, pero no tiene por qué ser el único. Vamos a concentrarnos en la cabecera HTTP aceptar y considerar la conversación siguiente HTTP que devuelve un cierto contenido. SolicitarGET / services/historical/AMZN/2006 HTTP/1.1 Host: 192.168.1.242:8100 User-Agent: Mozilla/5.0 (compatible; PPC Mac OS X Mach-O; en-US; rv: 1.7.8) Gecko / 20050511 Accept: text / xml, application / xml, application / xhtml + xml, text / html; q = 0.9, text / plain; q = 0.8, image / png ,*/*; q = 0.5 Accept-Language: es -es, es; q = 0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1, utf-8; q = 0.7, *; q = 0.7 Keep-Alive: 300 Connection: Keep-Alive RespuestaHTTP/1.1 200 OK Date: Mon, 21 Aug 2006 14:51:40 GMT Server: Apache/2.0.53 (Ubuntu) Last-Modified: Jue, 11 May 2006 17:43:45 GMT ETag: "41419c-45 - Rangos 438fd340 "Accept-: bytes Content-Length: 69 Keep-Alive: timeout = 15, max = 100 Connection: Keep-Alive Content-Type: text / html; charset = UTF-8 La solicitud es un GET de HTTP, lo que significa que el servidor HTTP necesita para recuperar los datos asociados con el recurso. La operación se convierte en específico cuando la solicitud se proporciona en las cabeceras HTTP Accept, Accept-Language, Accept-Encoding, y Accept-Charset. Estas cabeceras HTTP son aceptados por el servidor HTTP y servir como una indicación de lo contenido a enviar. Centrándose en la cabecera HTTP Accept, los valores son una serie de identificadores codificados MIME que el cliente acepte. El orden y el tipo del identificador son importantes, ya que especifican la prioridad de los contenidos que el cliente quiere recibir desde el servidor. La lógica es para enviar el contenido disponible con la prioridad definida por el cliente que, por ejemplo, las fuerzas del servidor para enviar contenido HTML antes que el contenido sin formato de texto. La prioridad de los contenidos es la prioridad de los tipos MIME como se define en la especificación de HTTP. En la lista siguiente se genera cuando la solicitud de reabastecimiento ejemplo: 1. application / xhtml + xml 2. text / xml 3. application / xml 4. image / png 5. text / html; q = 0,9 6. text / plain; q = 0,8 7. * / *; q = 0,5 El orden de los identificadores depende de la especialización identificador y su valor de q. Un identificador de tipo MIME que no tiene ningún valor q indica un valor predeterminado de 1,0. Cuando el valor aq existe, debe bajar la prioridad de el identificador de tipo MIME en el valor especificado por el valor de q. Especialización Identificador es cuando un identificador es una prioridad más alta porque el contenido especificado es más específico que el otro identificador. En la lista de prioridades, el identificador de texto / xml es más específico que * / * porque * / * significa todo. Además, el texto / xml es más específico que el texto / *, y por lo tanto el texto / xml es una prioridad mayor. Tenga en cuenta que el identificador de MIME primero de la conversación HTTP es text / xml, y la segunda es la aplicación / xml. Sin embargo, en el orden de prioridad, el identificador de primera MIME es application / xhtml + xml. Hice esta hipótesis después de haber leído las especificaciones de HTTP y MIME, pero siento que es un error que acaba de pasar a trabajar. Vamos a analizarlo la solicitud de ejemplo para entender por qué este error ocurrió al trabajo. El tipo MIME identificadores de aplicación / xml, application / xhtml xml, y application / xml-son consideradas específicas, y cada uno tiene un valor de ac 1. Si el servidor sigue el orden de los tipos MIME, esto significa que el navegador prefiere recibir el contenido XML en HTML o contenido XHTML. La aplicación / xml y text / tipos MIME XML contenido XML, aunque el contenido XML podría ser el contenido XHTML. Lectura del pliego de condiciones se soluciona el problema con la frase con respecto a la prelación de los tipos MIME, que genéricamente dice que un tipo MIME más específicos se pide antes un tipo MIME menos específica. Esto significa application / xhtml-xml se ordena antes de la aplicación / xml y text / xml, ya que la aplicación / XHTML, XML es un formato específico de XML. El ejemplo ilustra la conversación HTTP que el navegador fue explícito en lo que quería. Existen navegadores sin embargo, que hacer no indica con precisión lo que quieren, como lo ilustra la conversación siguiente HTTP. SolicitarGET / services/historical/AMZN/2006 Accept: * / * Accept-Language: es-ar Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;. NET CLR 2.0.50215;. NET CLR 1.1.4322) Connection: Keep-Alive Algunos navegadores enviar el identificador de tipo Aceptar * / *, que en esencia significa, "Música de mí lo que tengo, yo lo aceptaré." Esa petición es extremadamente contraproducente y hace que sea difícil poner en práctica la separación de el recurso de la representación. La solución a este problema es definir una representación predeterminado para el identificador * / *. No es una solución ideal, sino una solución engendro de la necesidad de enviar algo. Muy probablemente, aquellos clientes que envían * / * están basados en HTML navegadores Web. un artículo presentado por Sonja Lande Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito. Importante: Este artículo "Identificación de los recursos y la representación con Ajax" fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.
|
|||||
| Online: 287 users browsing the articles directory |
|
|