Heim  >  Artikel  >  Web-Frontend  >  Was ist das HTTP-Protokoll?

Was ist das HTTP-Protokoll?

一个新手
一个新手Original
2017-09-19 10:06:094097Durchsuche

Eine kurze Einführung in das HTTP-Protokoll

HTTP-Protokoll ist ein Hypertext-Übertragungsprotokoll, ein auf TCP/IP basierendes Kommunikationsprotokoll zur Datenübertragung

Eigenschaften:
1. Einfach und schnell: Wenn der Client eine Anfrage an den Server initiiert, muss er nur die Anfragemethode und den Anfragepfad übertragen. Zu den häufig verwendeten Anforderungsmethoden gehören POST, GET usw. Jede Methode spezifiziert eine andere Art von Kontakt zwischen dem Client und dem Server. Da das HTTP-Protokoll einfach ist, ist die Kommunikationsgeschwindigkeit schnell
2. Flexibel: Jede Art von Datenobjekt kann übertragen werden. Der Übertragungstyp ist durch Content-Type
3 gekennzeichnet. Keine Verbindung: Beschränken Sie jede Verbindung auf die Verarbeitung nur einer Anfrage. Nachdem der Server die Anfrage des Clients verarbeitet hat, wird er nach Erhalt der Antwort des Clients getrennt
4. Zustandslos: HTTP ist ein zustandsloses Protokoll. Zustandslos bedeutet, dass das Protokoll über keine Speicherkapazität für die Transaktionsverarbeitung verfügt. Das Fehlen eines Status bedeutet, dass die vorherigen Informationen erneut übertragen werden müssen, wenn sie für die nachfolgende Verarbeitung benötigt werden, was die pro Verbindung übertragene Datenmenge erhöhen kann. Wenn der Server andererseits keine anderen Informationen benötigt, ist seine Antwort sehr schnell
5. Unterstützt B/S- und C/S-Modi

URL

URL ist eine einheitliche Ressourcenkennung, die von HTTP zum Übertragen von Daten und zum Herstellen von Verbindungen verwendet wird. URL ist ein spezieller URI-Typ. Der vollständige Name lautet UniformResourceLocator und der chinesische Name lautet Uniform Resource Locator. Die URL enthält die folgenden Teile:
Zum Beispiel: https://baike.baidu.com:8080/item/. url/110640 ?fr=aladdin
1. Protokoll-/Modusteil: Er teilt dem Browser mit, wie er mit der zu öffnenden Datei umgehen soll. Der am häufigsten verwendete Modus ist das Hypertext Transfer Protocol (HTTP), das für den Zugriff auf das Internet verwendet wird. Weitere Vereinbarungen lauten wie folgt:
http – Hypertext Transfer Protocol-Ressource
https – Hypertext Transfer Protocol, bereitgestellt über Secure Sockets Layer
ftp – Dateiübertragungsprotokoll
mailto – E-Mail-Adresse
ldap – Lightweight Directory Access Protocol-Suche
Datei – eine auf einem lokalen Computer oder online freigegebene Datei
Nachrichten – Usenet News Group
Gopher – Gopher-Protokoll
Telnet – Telnet-Protokoll
Im obigen Beispiel ist der Protokollteil https
2. Domänennamensteil: Der obige Domänenname lautet: baike.baidu.com
3 Name ist die Portnummer. Verwendung: Der Port ist kein notwendiger Teil einer URL. Wenn die Portnummer weggelassen wird, wird der Standardport verwendet : /item/url/110640
5 . Parameterteil: fr=aladdin, also nach dem Fragezeichen

Anfrage

HTTP-Anfragenachricht Hauptsächlich anfordern besteht aus folgenden Teilen:
* Anforderungszeile: Anforderungsmethode |. Protokollversion
* Anforderungsheader: Der Anforderungsheader enthält viele nützliche Informationen über die Clientumgebung und den Anforderungstext
* Anforderungstext : Zwischen dem Anforderungsheader und dem Anforderungstext befindet sich eine Leerzeile. Diese Zeile ist sehr wichtig, sie zeigt an, dass der Anforderungsheader beendet ist, und was folgt, ist der Anforderungstext. Der Anfragetext kann vom Kunden übermittelte Abfragezeichenfolgen enthalten.

Antwort

Die HTTP-Antwortnachricht Antwort besteht aus den folgenden Teilen:

* Statuszeile: Protokollversion | Nachricht
* Antwortkopf: Datum, Inhaltstyp usw.
* Antworttext: Serverseitige Rückgabedaten

Statuscode

Der Statuscode besteht aus drei Ziffern, die ersten Zahlen definieren die Kategorie der Antwort

* 1xx: Nachricht anzeigen, die angibt, dass die Anfrage empfangen wurde, Verarbeitung fortsetzen
* 2xx: Erfolg, was angibt, dass die Anfrage erfolgreich empfangen wurde
* 3xx: Umleiten, was darauf hinweist, dass die Anfrage nachts gestellt wird. Weitere Vorgänge sind erforderlich
* 4xx: Clientfehler, was darauf hinweist, dass die Anfrage einen Syntaxfehler aufweist oder nicht implementiert werden kann
* 5xx: Serverfehler, was darauf hinweist, dass der Server ausgefallen ist um eine rechtliche Anfrage umzusetzen

Gemeinsamer Statuscode:

200 - ok - 请求成功400 - Bad Request - 客户端请求有语法错误,不能被服务器理解401 - Unauthorized - 请求未经授权403 - Forbidden - 服务器收到请求,但是拒绝提供服务404 - Not Found - 请求资源不存在500 - Internal Server Error - 内部服务器错误503 - Server Unavaliable - 服务器不可用
Anfragemethode

HTTP 1.0 定义了三种请求方法 :GET、POST、HEAD
HTTP 1.1 新增了五种请求方法 :OPTIONS、PUT、DELETE、TRACE、CONNECT
GET - 请求指定的页面信息,并返回实体主体
HEAD - 类似于GET请求,但是返回的只有报头
POST - 向指定的资源提交数据进行处理请求
PUT - 从客户端向服务器传送的数据取代指定文件的内容DELETE - 请求服务器删除指定的页面
CONNECT - HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。OPTIONS - 允许客户端查看服务器性能
TRACE - 回显服务器收到的请求,主要用于测试或诊断。
Der Unterschied zwischen GET und POST

  1. Datenübermittlung: GET-Anforderungsdaten werden nach der URL verwendet, um eine Verbindung herzustellen, aber die POST-Anforderungsdaten werden im HTTP-Paket platziert

  2. Übertragungsdatengröße : Da allgemeine Browser Beschränkungen hinsichtlich der Länge der URL haben. Ja, daher erhält die Verwendung von GET zum Anfordern von Daten eine Größenbeschränkung, aber POST fügt die Daten in das Paket ein, d. h. es gibt keine Größenbeschränkung

  3. Sicherheit: GET übermittelt die Daten in der URL, kann zwischengespeichert werden, um Daten zurückzugeben

Hinweis:

1. Das HTTP-Protokoll begrenzt die Größe der übertragenen Daten nicht Daten, und die HTTP-Protokollspezifikation begrenzt die Länge der URL nicht.
2. Die GET-, POST- und SOAP-Protokolle von HTTP laufen alle auf http

(1) GET: Der Anforderungsparameter wird als Folge von Schlüssel/Wert-Paaren (Abfragezeichenfolge) an die URL angehängt. Die Länge Der

-Abfragestring ist durch Webbrowser und Webserver begrenzt (z. B. unterstützt IE bis zu 2048 Zeichen), was nicht für die Übertragung großer Datenmengen geeignet ist. Gleichzeitig ist er sehr unsicher

(2) POST: Die Anforderungsparameter werden in einem anderen Teil des HTTP-Headers (benannter Entitätskörper) übertragen. Dieser Teil wird zur Übertragung von Formularinformationen verwendet, daher muss der Inhaltstyp auf „application/x-www“ eingestellt werden - Formular-URL-codiert. Post ist für die Unterstützung von Benutzerfeldern in Webformularen konzipiert und seine Parameter werden auch als Schlüssel/Wert-Paare übertragen.
Allerdings werden komplexe Datentypen nicht unterstützt, da Post die Semantik und Regeln für die Übertragung von Datenstrukturen nicht definiert.

(3) SOAP: Es handelt sich um eine dedizierte Version von http-Post, die einem speziellen XML-Nachrichtenformat folgt.
Content-type ist auf: text/xml eingestellt. Alle Daten können xmlisiert werden.

Das HTTP-Protokoll definiert viele Methoden der Interaktion mit dem Server, von denen die grundlegendsten GET, POST, PUT und DELETE sind. Eine URL-Adresse wird zur Beschreibung einer Ressource im Netzwerk und in HTTP GET verwendet , POST, PUT und DELETE entsprechen den vier Vorgängen Überprüfen, Ändern, Hinzufügen und Löschen dieser Ressource. Unsere gebräuchlichsten sind GET und POST. GET wird im Allgemeinen zum Abrufen/Abfragen von Ressourceninformationen verwendet, während POST im Allgemeinen zum Aktualisieren von Ressourceninformationen verwendet wird.

Das obige ist der detaillierte Inhalt vonWas ist das HTTP-Protokoll?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn