In diesem Artikel werden verschiedene Methoden eingeführt, um mit dem Server zu interagieren. Der vollständige Name der URL ist der Ressourcendeskriptor. Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Erhöhung, Löschen von 4 Vorgängen. Zu diesem Zeitpunkt sollte jeder ein allgemeines Verständnis haben.
1. Gemäß der HTTP -Spezifikation wird GET zum Informationserwerb verwendet und sollte sicher und Strom sein.
(1). Mit anderen Worten, erhalten Sie Anfragen im Allgemeinen keine Nebenwirkungen. Das heißt, es wird nur Ressourceninformationen erhalten, genau wie bei Datenbankabfragen wird es nicht geändert, Daten erhöht und den Status von Ressourcen nicht beeinflusst.
* Hinweis: Die Bedeutung der Sicherheit hier bezieht sich nur auf die nicht modifizierten Informationen.
(2) Strom usw. bedeutet, dass mehrere Anfragen für dieselbe URL das gleiche Ergebnis zurückgeben sollten. Hier werde ich das Konzept des Mi -Wartens erklären:
Idempotent und idempotnce sind ein mathematisches oder Computerkonzept, häufig in abstrakter Algebra.
Warten Sie auf ein paar Definitionen:
Bei monokularen Operationen ist das Ergebnis des Betriebs dem Vorgang des Betriebs wie dem Ergebnis des Vorgangs gleich. Beispielsweise ist der Absolutwert ein Beispiel.
Für binokulare Operationen ist die Leistung des Betriebs als Funktion als Funktion als konzentrierte Leistung in der reelle Zahl, das heißt, max (x, x) = x.
Nachdem Sie die obige Erklärung gelesen haben, sollten Sie die Bedeutung von Get Power verstehen.
In praktischen Anwendungen sind die beiden oben genannten Bestimmungen jedoch nicht so streng. Beispiel für die Zitat der Artikel anderer Personen: Zum Beispiel wird die Titelseite der Nachrichtenseite ständig aktualisiert. Obwohl die zweite Anfrage eine andere Nachrichtenrunde zurückgibt, gilt die Operation immer noch als sicher und macht, da sie immer die aktuellen Nachrichten zurückgibt. Wenn das Ziel ist, dass der Benutzer einen Link öffnet, kann er sicher sein, dass er die Ressourcen nicht aus seiner eigenen Perspektive ändern kann.
2. Gemäß der HTTP -Spezifikation zeigt Post an, dass die Anforderung zur Änderung der Ressourcen auf dem Server die Ressource auf dem Server ändern kann. Zitieren Sie weiterhin das obige Beispiel: Nehmen Sie die Nachrichten dennoch als Beispiel.
Über dem oben genannten Gespräch über einige Prinzipien von Get und Post in der HTTP -Spezifikation. Tatsächlich haben viele Menschen dies jedoch nicht gemäß den HTTP -Spezifikationen getan.
1. Viele Menschen sind gierig und bequem.
2. Für die Erhöhung, das Löschen, die Änderung, das Überprüfen des Betriebs können Sie ihn tatsächlich durch GET/Post abschließen, ohne Put und Löschen zu verwenden.
3. Das andere ist, dass die frühen Web -MVC -Framework -Designer von Web MVC nicht bewusst als abstrakte Ressourcen behandelt wurden. Ein ernsthafteres Problem besteht darin, dass das traditionelle Web -MVC -Framework im Grunde genommen nur die Get und das Posten von zwei HTTP -Methoden unterstützt und nicht durch Put und Löschen unterstützt werden.
* Erklären Sie einfach die MVC: MVC existierte ursprünglich im Desktop -Programm. Der Zweck der Verwendung von MVC besteht darin, den Implementierungscode von M und V zu trennen, damit das gleiche Programm unterschiedliche Expressionsformulare verwenden kann.
Die obigen 3 Punkte beschreiben die alten Stile (ohne strenge Einhaltung der HTTP -Spezifikationen).
Nachdem wir über den ursprünglichen Grund gesprochen haben, betrachten wir den Unterschied zwischen Get und Post vom Oberflächenbild:
1. Die von der Anforderung angeforderten Daten werden der URL (dh die Daten in den HTTP -Protokollheader) beigefügt, um die URL zu teilen und Daten zu übertragen, und die Parameter sind angeschlossen, z. B.: Login.Action? hyddd & password = idont kift & verifizieren =%e4%bd%a0%e5%a5%bd. Wenn es sich bei den Daten englische Buchstaben/Zahlen befinden, konvertieren Sie sie, wenn es sich um einen Speicherplatz handelt, in+, wenn es sich um chinesische/andere Zeichen handelt, die Zeichenfolge direkt mit Base64, um sie BD zu erhalten, von denen xx in % xx ein ist ASCII durch Hexadezimal dargestellt.
Post stellt die eingereichten Daten in das HTTP -Paket ein.
2. Die Daten, die durch die Daten eingereicht wurden, können nur 1024 Bytes sein. Überschneidung Überschneidung
Der obige Satz wurde aus anderen Artikeln übertragen.
(1). Tatsächlich hat die URL nicht das Problem der Obergrenze des Parameters, und die HTTP -Protokollspezifikation begrenzt die URL -Länge nicht. Diese Grenze ist ein bestimmter Browser- und Serverbeschränkungen. Die Grenze des IE für URL beträgt 2083 Bytes (2K+35). Für andere Browser wie NetScape, Firefox usw. gibt es keine langfristige Einschränkung, und seine Einschränkung hängt von der Unterstützung des Betriebssystems ab.
Beachten Sie, dass dies auf die gesamte URL -Länge beschränkt ist, nicht nur auf Ihre Parameterwertdatenlänge. [Siehe Referenzdaten 5]
(2).
Für ASP -Programme verfügt das Anforderungsobjekt bei der Verarbeitung jeder Domäne über eine Datenlänge von 100.000. Wenn Sie jedoch Request.BinaryRead verwenden, gibt es keine Begrenzung.
Aus dieser Erweiterung hat Microsoft aus Sicherheitsgründen die Beschränkungen für IIS 6.0 erhöht. Wir müssen noch darauf achten:
1).
2) IIS 6.0 Die maximale Größe der Datei -Upload -Datei beträgt 4 MB.
3).
IIS 6.0 hatte diese Einschränkungen vorher nicht. [Siehe Referenzdaten 5]
Die oben genannten 80K, 100K ist also nur der Standardwert (Hinweis: Ich habe die Parameter von IIS4 und IIS5 nicht bestätigt), aber es muss von mir selbst festgelegt werden. Da die Standardwerte dieser Parameter jeder Version des IIS unterschiedlich sind, lesen Sie bitte das relevante IIS -Konfigurationsdokument.
3. In ASP erhalten der Server den Parameter Get -Anforderung mit Request.queryString und den Parameter der Postanforderung mit Request.Form. Verwenden Sie in JSP die Request.getParameter (/xxxx/), um sie zu erhalten & password = hyddd, verwenden Sie Anforderung. In PHP können Sie $ _get und $ _post verwenden, um Daten in GET und Posts zu erhalten, während $ _Request Daten in zwei Anfragen von GET und Post erhalten kann. Es ist erwähnenswert, dass es versteckte Gefahren gibt, $ _Request in JSP in JSP und PHP zu verwenden.
4. Die Sicherheit von Post ist höher als die Sicherheit von GET. Hinweis: Die hier erwähnte Sicherheit ist nicht das gleiche Konzept wie die oben erwähnte Sicherheit. Die Bedeutung der obigen Sicherheit besteht darin, die Daten nicht zu ändern, und die Bedeutung der Sicherheit ist hier die Bedeutung der tatsächlichen Sicherheit. Da (1) die Anmeldeseite möglicherweise Browser ist. Forderungsanfrage Angriff.
Zusammenfassend ist GET eine Anfrage zum Senden von Daten an den Server, und Post ist eine Anfrage, um Daten in Form (Form) zu senden.