Kennen Sie die Bedeutung von Sonderzeichen in URLs?

Kennen Sie die Bedeutung von Sonderzeichen in URLs?

1.#

# stellt eine Position auf einer Webseite dar. Das Zeichen rechts daneben ist die Kennung dieser Position. Beispielsweise stellt http://www.example.com/index.html#print den Druckort der Webseite index.html dar. Nachdem der Browser diese URL gelesen hat, scrollt er die Druckposition automatisch in den sichtbaren Bereich.

Es gibt zwei Möglichkeiten, eine Kennung für den Standort einer Webseite anzugeben. Eine Möglichkeit besteht darin, Ankerpunkte wie <a name="print"></a> zu verwenden, die andere darin, ID-Attribute wie <div id="print"> zu verwenden.

2. HTTP-Anfrage enthält nicht#

# wird zur Steuerung von Browseraktionen verwendet und ist auf der Serverseite völlig nutzlos. Daher enthält die HTTP-Anfrage kein #.

Beim Zugriff auf die URL http://www.example.com/index.html#print lautet die vom Browser tatsächlich gesendete Anfrage beispielsweise wie folgt:

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. GET /index.html HTTP/1.1
  2. Host: www.example.com

3. Zeichen nach #

Alle Zeichen, die nach dem ersten # erscheinen, werden vom Browser als Standortkennung interpretiert. Das bedeutet, dass keines dieser Zeichen an den Server gesendet wird.

Beispielsweise soll die folgende URL einen Farbwert angeben: http://www.example.com/?color=#fff, aber die tatsächlich vom Browser gesendete Anfrage lautet:

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. GET /? Farbe = HTTP /1.1
  2. Host: www.example.com

4. Änderung #Kein Neuladen der Webseite auslösen

Durch einfaches Ändern des Teils nach # scrollt der Browser nur bis zur entsprechenden Position, ohne die Webseite neu zu laden.

Wenn Sie beispielsweise von http://www.example.com/index.html#location1 zu http://www.example.com/index.html#location2 wechseln, fordert der Browser index.html nicht erneut vom Server an.

5. Durch Ändern von # wird der Zugriffsverlauf des Browsers geändert

Jedes Mal, wenn Sie den Teil nach # ändern, wird ein Eintrag in die Zugriffshistorie des Browsers eingetragen. Über die Schaltfläche „Zurück“ gelangen Sie zur vorherigen Stelle zurück. Dies ist besonders nützlich für Ajax-Anwendungen, bei denen Sie unterschiedliche #-Werte verwenden können, um unterschiedliche Zugriffszustände darzustellen, und den Benutzern dann einen Link zum Zugriff auf einen bestimmten Zustand bereitstellen können. Es ist erwähnenswert, dass die oben genannten Regeln nicht für IE 6 und IE 7 gelten, die aufgrund von Änderungen in # keine Verlaufsdatensätze hinzufügen.

6. window.location.hash liest #value

Die Eigenschaft window.location.hash ist lesbar und beschreibbar. Beim Lesen lässt sich damit feststellen, ob sich der Status der Webseite geändert hat, beim Schreiben wird ein Zugriffsverlaufseintrag erstellt, ohne dass die Webseite neu geladen werden muss.

7. Onhashchange-Ereignis

Dies ist ein neues Ereignis in HTML 5. Wenn sich der #-Wert ändert, wird dieses Ereignis ausgelöst. Dieses Ereignis wird von IE8+, Firefox 3.6+, Chrome 5+ und Safari 4.0+ unterstützt.

Es gibt drei Möglichkeiten, es zu verwenden:

•window.onhashchange = Funktion;
•<body onhashchange="func();">
•window.addEventListener("hashchange", Funktion, false);

Bei Browsern, die onhashchange nicht unterstützen, können Sie setInterval verwenden, um Änderungen in location.hash zu überwachen.

8. Googles Mechanismus zum Crawlen #

Standardmäßig ignorieren die Web-Spider von Google den #-Teil einer URL.

Google legt jedoch auch fest, dass Sie „#!“ in der URL verwenden können, wenn der von Ajax generierte Inhalt von der Browser-Engine gelesen werden soll. Google konvertiert den nachfolgenden Inhalt dann automatisch in den Wert der Abfragezeichenfolge _escaped_fragment_.

Beispielsweise hat Google die URL der neuen Version von Twitter gefunden: http://twitter.com/#!/username

Es wird automatisch eine andere URL abgerufen: http://twitter.com/?_escaped_fragment_=/username

Durch diesen Mechanismus kann Google dynamische Ajax-Inhalte indizieren.

Notiz

AJAX = Asynchronous JavaScript and XML (eine Teilmenge der Standard Generalized Markup Language). AJAX ist eine Technologie zum Erstellen schneller, dynamischer Webseiten.

2. ?

1) Verbindungsfunktion: zum Beispiel

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. http://www.xxx.com/Show.asp?id=77 Name-ID = 2905210001 Seite = 1   

2) Leeren Sie den Cache: Zum Beispiel

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. http://www.xxxxx.com/index.html
  2. http://www.xxxxx.com/index.html?test123123

Die über die beiden URLs geöffneten Seiten sind identisch, allerdings steht am Ende ein Fragezeichen, was bedeutet, dass der zwischengespeicherte Inhalt nicht aufgerufen wird, sondern als neue Adresse betrachtet und erneut gelesen wird.

3. und

Trennzeichen für verschiedene Parameter

JavaScript CodeInhalt in die Zwischenablage kopieren
  1. importiere java.util.ArrayList;
  2.   
  3. Klasse Node{
  4.      int -Wert;
  5. Knoten linker Knoten;
  6. Knoten rechter Knoten;
  7.      öffentlicher Knoten ( int Wert, Knoten linker Knoten, Knoten Knoten rechts) {
  8.          dies .val = val;
  9.          dies .leftNode = linkerNode;
  10.          dies .rightNode = rechterNode;
  11. }
  12. }
  13. öffentlich   Klasse InOrder{
  14.        
  15.      statische ArrayList<Integer> arrayList = neue ArrayList<Integer>();
  16.        
  17.      öffentlich   statisch   void main(String args[]){
  18.          //Baum konstruieren   
  19. Knoten E = neuer Knoten (5, null , null );
  20. Knoten D = neuer Knoten(4, null , null );
  21. Knoten C = neuer Knoten(3, null , null );
  22. Knoten B = neuer Knoten (2, D, E);
  23. Knoten A = neuer Knoten(1, B, C);
  24.            
  25. inReihenfolge(A);
  26.          für ( int i = 0; i < arrayList.size(); i++) {
  27.              //System.out.print(arrayList.get(i)+" ");   
  28. }
  29. }
  30.        
  31.      öffentlich   statisch   void inOrder(Knotenwurzel){
  32.          wenn (root != null ){
  33. inOrder(root.linkerKnoten);
  34. arrayList.add(root.val);
  35. inOrder(root.rechterKnoten);
  36. System.err.print(root.rightNode + " " );
  37. }
  38. }
  39. }

Was ist der Unterschied zwischen JavaBean und POJO:

Kurz gesagt, Pojos mit Set- und Get-Methoden sind Javabeans. Aber JavaBean bietet mehr als nur Setzen und Abrufen, und jede Java-Klasse kann ein JavaBean sein.

Was ist POJO

Laut Martin Fowlers Erklärung handelt es sich um „Plain Old Java Object“, was wörtlich übersetzt „reines altmodisches Java-Objekt“ bedeutet, aber jeder nennt es „einfaches Java-Objekt“. Die intrinsische Bedeutung von POJO bezieht sich auf Java-Objekte, die von keiner Klasse erben, keine Schnittstelle implementieren und nicht von anderen Frameworks angegriffen werden.

Vergleich zwischen POJO und JavaBean

Das Pojo-Format wird zur temporären Datenübertragung verwendet. Es kann Daten nur als Träger für die Datenspeicherung laden, verfügt jedoch nicht über die Fähigkeit, Geschäftslogik zu verarbeiten.

Obwohl die Datenerfassung von Javabean dieselbe ist wie die von Pojo, gibt es in Javabean andere Methoden.

JavaBean ist eine wiederverwendbare Komponente, die in der Sprache JAVA geschrieben ist. Die Benennung, Konstruktion und das Verhalten der Methoden müssen bestimmten Konventionen entsprechen:

1. Diese Klasse muss einen öffentlichen Standardkonstruktor haben.
2. Auf die Eigenschaften dieser Klasse wird mithilfe von Gettern und Settern zugegriffen, und andere Methoden folgen standardmäßigen Namenskonventionen.
3. Diese Klasse sollte serialisierbar sein.

Original-URL: http://www.cnblogs.com/androidshouce/archive/2016/06/17/5592867.html

<<:  Detaillierte Erklärung der scp- und sftp-Befehle unter Linux

>>: 

Artikel empfehlen

So wird eine Select-Anweisung in MySQL ausgeführt

Inhaltsverzeichnis 1. MySQL aus einer Makroperspe...

Docker verwendet Supervisor zur Verwaltung von Prozessvorgängen

Ein Docker-Container startet beim Start beispiels...

Implementierungsbeispiel zum Schließen der Browserabmeldung in Vue

Inhaltsverzeichnis 1. beforeunload-Ereignis 2. Er...

Detaillierte Erklärung zur Verwendung der Element-el-button-Button-Komponente

1. Hintergrund Schaltflächen werden sehr häufig v...

Natives JS zur Implementierung des Flugzeug-Kriegsspiels

In diesem Artikelbeispiel wird der spezifische JS...

Beispielcode zum Ändern des Textstils der Eingabeaufforderung in HTML

Auf vielen Websites wird im Eingabefeld Hinweiste...

So fügen Sie bedingte Ausdrücke zu Aggregatfunktionen in MySql hinzu

MySQL-Filterungs-Timing von Where-Bedingungen und...

HTML-Tabellen-Tag-Tutorial (44): Tabellenkopfzeilen-Tag

<br />Um die Tabellenstruktur im Quellcode d...