error de formato xml
El lenguaje de marcado utilizado por WAP es WML (Wireless Markup Language).
WML tiene la misma sintaxis que XML y WML es un subconjunto de XML.
Existen muchas similitudes entre los documentos HTML, XML y WML, por lo que lo que los desarrolladores web han aprendido durante los últimos 10 años sigue siendo relevante hoy en día.
El sufijo para archivos de páginas WML es *.WML, al igual que el sufijo *.HTML para HTML.
La especificación XML define las especificaciones para archivos XML canónicos. Cualquier archivo WML que viole esta especificación generará un error; los archivos WML generalmente se interpretan mediante un intérprete XML.
Establecimiento de un entorno de creación web
El archivo WML en sí es un archivo de texto, por lo que editarlo no es un problema y se puede utilizar cualquier editor conveniente.
Por supuesto, dado que los navegadores actuales no pueden mostrar páginas WML y no siempre podemos realizar pruebas en teléfonos móviles (es demasiado lento), necesitarás un emulador. Ahora los fabricantes de teléfonos móviles como NOKIA, ERICSSON y MOTOROLA han producido productos correspondientes y usted solo necesita descargarlos. Por supuesto, además del simulador, también necesita crear un conversor de gráficos (utilizado para crear archivos gráficos en formato WAP), un conversor de caracteres (caracteres chinos < = > UNICODE), etc. Las herramientas y páginas del foro de este sitio son todos Hay instrucciones.
Estructura de archivos WML
La página WML suele denominarse escritorio (DECK) y consta de un conjunto de tarjetas interconectadas (CARD). Cuando un teléfono móvil accede a una página WML, todas las TARJETAS de esa página se descargan al dispositivo desde el servidor WAP. El cambio entre TARJETAS se realiza mediante la computadora integrada en el teléfono, por lo que no es necesario ir a un servidor para recuperar la información. TARJETA puede contener texto, etiquetas, enlaces, controles de entrada, TAREAS, imágenes, etc.
Las entidades del documento están contenidas en... etiquetas, cada TARJETA del documento está contenida en... etiquetas y luego los párrafos de texto reales están contenidos en
. ..
etiqueta.
Ejemplo sencillo:
"/wap/index.wml HTTP/1.1
accept-charset:
accept-language: ch
aceptar: text/vnd.wap.wml, */*, image/bmp, text/html image/bmp, text/html
user-agent: UP.Browser/ 3.1-UPG1 UP.Link/3.2
host: www.itsalon.net
......
La parte en negrita es el encabezado del mensaje HTTP , Aquí ignoramos algunas partes que no son relevantes para nosotros
accept-charset: el conjunto de caracteres admitido por el terminal de usuario
accept-language: el idioma utilizado actualmente por el usuario. terminal
aceptar: tipos de archivos MIME aceptables para el terminal de usuario
user-agent: información de descripción del terminal proporcionada por el proveedor del terminal de usuario
host: nombre de dominio para enviar información de solicitud
p>2. Respuesta
La parte de definición de información de la respuesta generalmente se ve así: Código de estado HTTP/1.1 Descripción de estado [RFC2616] define casi 40 códigos de estado diferentes (divididos en 5 grupos).
Los más comunes son 3:
200 OK
401 No autorizado
404 No encontrado
Continuando con el ejemplo anterior, si La URL es legal y la respuesta del servidor se verá así:
HTTP/1.1 200 OK
Servidor: www/5.0
Fecha:
Viernes, 26 de octubre de 2000 12:15:23 GMT
Conexión: Keep-Alive
Longitud del contenido: 1211
Tipo de contenido: text/ vnd.wap .wml
Última modificación: lunes, 22 de octubre de 2000 18:19:24 GMT
"La definición en el navegador es de aproximadamente 30 días. Sin embargo, tal vez desee almacenar en caché una URL , como el logotipo de su empresa, durante el mayor tiempo posible para que lleve menos tiempo abrir la página cada vez. Esto se puede lograr fácilmente con los dos métodos siguientes:
* Especifique una fecha de vencimiento que sea. lejos del presente, por ejemplo: Expira: martes, 01 de enero de 2002 00:00:00 GMT
* Especifique un tiempo de caché muy largo, por ejemplo: Cache-Control: max-age=3153600 Este ejemplo permite que la URL se almacene en caché durante un año. El número entero máximo permitido por el cliente es 2.147.483.647, por lo que puede guardar la URL durante más de 68 años. Por supuesto, su teléfono estará desactualizado. p>
2. Especifique el tiempo de caché de la URL
Normalmente, solo necesita almacenar en caché la URL durante un período de tiempo. Por ejemplo, en un sistema de cotización de acciones, es posible que la página deba hacerlo. se actualizará cada 5 minutos, por lo que simplemente especifica Cache-Control: max-age=300 en la sección HEAD de DECK. Si el usuario recupera la página dentro de los 5 minutos, la página aún permanecerá en el caché. minutos, se recuperarán del servidor.
Otra forma de controlar el tiempo de caché es usar Expires (como se mencionó anteriormente), pero este método solo le dice al terminal de usuario que espere el tiempo especificado. para pasar cada vez que se accede a la página, la página se actualizará. Si desea controlar el tiempo de actualización siguiente, solo puede cambiar el valor de tiempo en Expires
3.
Para cambios rápidos de contenido, generalmente desea obtener los datos más recientes en todo momento. Por lo tanto, el almacenamiento en caché de las páginas relevantes debe estar completamente deshabilitado en este momento. Hay tres formas de hacer esto:
* Establecer Cache-Control: no-cache
* Establecer el tiempo máximo de caché en 0, Cache-Control: max-age =0 ;
* Establezca la fecha de vencimiento del caché en hace mucho tiempo. Caduca: lunes, 1 de enero de 1990 a las 00:00:00 GMT.
De hecho, estas dos últimas no son las mejores opciones. Primero, esto requiere más tiempo de procesamiento por parte del terminal porque necesita calcular el tiempo de vencimiento cuando se encuentra este DECK. En segundo lugar, esto ocupa más bytes y es menos claro en las presentaciones.
3. Pila de historial y validación
En HTTP1.1, el concepto de validación se propone además para el almacenamiento en caché. El propósito de la verificación es comprobar si el elemento almacenado en caché se encuentra dentro del período de validez. El proceso de autenticación en terminales WAP es algo complicado debido a la presencia de la pila del historial.
El estándar WAP requiere que todos los dispositivos WAP tengan un historial de al menos 10 elementos. Cuando el usuario presiona un enlace de reenvío definido por u otro comando de redireccionamiento, la URL se insertará en la pila.
Si se presiona el vínculo de retroceso definido por, aparecerá la URL.
Normalmente, todos los enlaces directos se validan, pero los enlaces hacia atrás no porque ya están en la caché. Sin embargo, a veces todavía queremos obtener los datos más recientes cuando el usuario presiona el botón Atrás. Si el terminal no siempre se autentica, el usuario tendrá que buscar el menú principal y volver a entrar en esa página.
Afortunadamente, podemos forzar al terminal a validar la URL cuando el usuario presiona el botón Atrás usando Cache-Control: must-revalidate. Por supuesto, validar no significa que la página se volverá a leer inmediatamente, sino en función de si ha caducado. Si no ha caducado, la validación seguirá haciendo que se muestre la página almacenada en caché.
Si necesita volver a leer la página cada vez que regresa, entonces usar Cache-Control: must-revalidate, no-cache puede resolver el problema. Además, reemplazar no-cache con max-age=300 le permitirá actualizar las páginas que se han almacenado en caché durante 300 segundos al regresar.
4. Encabezados HTTP y metaelementos
Aquí ya conoces el papel de los encabezados de mensajes HTTP en las páginas WAP. Sin embargo, para configurar estos encabezados de mensajes en un documento WML, necesitamos usar metaelementos, que solo pueden aparecer en los párrafos del documento WML. A continuación se muestran algunos encabezados y cómo se representan:
Caducado: lunes, 10 de enero de 2000 00:00:00 GMT
Control de caché: max-age=300
Control de caché: no-cache
Cuando la puerta de enlace escanea el documento WML en busca de elementos, los convierte en encabezados HTTP equivalentes a WSP, que el terminal del usuario puede controlar en consecuencia.