HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Maneggiamento della richiesta del cliente: Intestazioni di richiesta del HTTP |
Quando il cliente del HTTP (per esempio un browser) trasmette una richiesta, � richiesto fornire una linea di richiesta (OTTENERE solitamente o ALBERINO).
Se desidera a, pu� anche trasmettere il numero di intestazioni, che sono facoltative tranne la Soddisfare-Lunghezza, che � richiesta soltanto per le richieste dell'ALBERINO
|
Metodi dell'intestazione di richiesta del HTTP disponibili in Servlets
|
Generalit�:
- getHeader (il nome dell'intestazione non � caso sensibile) - getHeaderNames - getHeaders Specializzato
- getCookies - getAuthType e getRemoteUser - getContentLength - getContentType - getMethod - getRequestURI - getQueryString - getDateHeader - getIntHeader - Info relativo - getProtocol
|
Una descrizione delle intestazioni di richiesta
|
Quando il cliente del HTTP (per esempio un browser) trasmette una richiesta, � richiesto fornire una linea di richiesta (OTTENERE solitamente o ALBERINO). Se desidera a, pu� anche trasmettere il numero di intestazioni, che sono facoltative tranne la Soddisfare-Lunghezza, che � richiesta soltanto per le richieste dell'ALBERINO. Qui sono le intestazioni pi� comuni:
- Accettare i tipi del MIME che il browser preferisce.
- Accettare-Charset la serie di caratteri che il browser prevede.
Accett-Mettendo i tipi in codice di codifiche di dati (quale gzip) che il browser sa decodificare. Servlet pu� controllare esplicitamente per vedere se c'� il supporto del gzip ed il ritorno gzipped le pagine del HTML ai browsers che li sostengono, regolanti l'intestazione diCifratura di risposta per indicare che sono gzipped. In molti casi, questo pu� ridurre i tempi di trasferimento dal sistema centrale verso i satelliti della pagina da un fattore di cinque o di dieci.
Accett-Lingua la lingua che il browser sta prevedendo, nel caso l'assistente ha versioni in pi� dell'una lingua.
Autorizzazione Info di autorizzazione, solitamente in risposta all'intestazione di WWW-Autentic dall'assistente.
Collegamento persistente di uso del collegamento? Se un servlet ottiene un valore Manten-Vivo qui, o ottiene una linea di richiesta che indica il HTTP 1.1 (dove persistente i collegamenti sono il difetto), pu� potere da approfittare dei collegamenti persistenti, salvanti il tempo significativo per i Web pagi che includono parecchie piccole parti (immagini o codici categoria del applet). Per fare questo, deve trasmettere l'intestazione di Soddisfare-Lunghezza nella risposta, che � compiuta il pi� facilmente scrivendo in un ByteArrayOutputStream, allora cercante la il formato appena prima scrittura fuori.
Soddisfare-Lunghezza (per i messaggi dell'ALBERINO, quanto i dati sono fissati)
Biscotto (una della maggior parte delle intestazioni importanti; vedere la sezione separata in questa lezione privata sul maneggiamento dei biscotti)
Da (email address del richiedente; usato soltanto dai Web spider e da altri clienti su ordinazione, non dai browsers)
- Ospite (ospite e l'orificio come elencato nel URL originale)
Se-Modific-Dato che (soltanto i documenti di ritorno pi� nuovi di questo, altrimenti trasmettono i 304 �� la risposta non modificata)
Pragma (il valore del nessun-nascondiglio indica che l'assistente dovrebbe restituire il documento fresco, anche se � una procura con una copia locale)
Referer (il URL della pagina che contiene il collegamento che l'utente � seguito per ottenere alla pagina corrente)
Utente-Agente (tipo del browser, utile se il servlet sta restituendo il soddisfare browser-specifico)
UA-Pixel, UA-Colore, UA-OS, UA-CPU (intestazione non standard trasmessa da alcune versioni dell'Internet Explorer, indicanti formato di schermo, intensit� del colore, sistema operativo ed il tipo del CPU usato dal sistema del browser)
|
Lettura delle intestazioni di richiesta da Servlets
|
La lettura delle intestazioni � molto il diretto; chiamata giusta il metodo del getHeader del HttpServletRequest, che restituisce una stringa se l'intestazione fosse fornita su questa richiesta, posizione di segnale minimo al contrario. Tuttavia, ci sono le coppie delle intestazioni che sono cos� comunemente usate che hanno metodi di accesso speciali. Il metodo dei getCookies restituisce il soddisfare dell'intestazione del biscotto, analizzato ed immagazzinato in un allineamento degli oggetti del biscotto. Vedere la sezione separata di questa lezione privata sui biscotti. I metodi del getRemoteUser e del getAuthType rompono l'intestazione di autorizzazione nelle relative parti componenti. I metodi del getIntHeader e del getDateHeader leggono l'intestazione specificata ed allora convertono loro fin qui ed i valori interni, rispettivamente.
Piuttosto che cercando uno dell'intestazione particolare, potete usare i getHeaderNames per ottenere un'enumerazione di tutti i nomi dell'intestazione ricevuti su questa richiesta particolare.
Per concludere, oltre che cercare le intestazioni di richiesta, potete ottenere le informazioni sulla linea principale di richiesta in se. Il metodo del getMethod restituisce il metodo principale di richiesta (OTTENERE normalmente o ALBERINO, ma cose come la TESTA, METTONO e la CANCELLAZIONE � possibile). Il metodo del getRequestURI restituisce URI (la parte del URL che � venuto dopo l'ospite e l'orificio, ma prima dei dati della forma). Il getRequestProtocol restituisce la terza parte della linea di richiesta, che � generalmente �HTTP/1.0� o �HTTP/1.1�.
|
Il seguente esempio denominato showHeaders.java stampa tutte le intestazioni nel browser
|
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class ShowRequestHeaders extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Servlet Example: Showing Request Headers";
out.println(ServletUtilities.headWithTitle(title) +
"<body bgcolor=\"#FDF5E6\">\n" +
"<h1 align=center>" + title + "</h1>\n" +
"<b>Request Method: </b>" +
request.getMethod() + "<br>\n" +
"<b>Request URI: </b>" +
request.getRequestURI() + "<BR>\n" +
"<b>Request Protocol: </b>" +
request.getProtocol() + "<BR><BR>\n" +
"<table border=1 align="center">\n" +
"<tr bgcolor=\"#FFAD00\">\n" +
"<th>Header Name<th>Header Value");
Enumeration headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements())
{
String headerName = (String)headerNames.nextElement();
out.println("<tr><td>" + headerName);
out.println(" <td>" + request.getHeader(headerName));
}
out.println("</table>\n</body></html>");
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
}
}
|
|
|
|
Keywords:
Handling the Client Request:Form Data,asp net client,asp net data,vb net data,control data,data net,java client,data repeater
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|