Was ist das Prinzip des HTTP-Protokolls im Python-Webcrawler?

WBOY
Freigeben: 2023-04-20 22:01:23
nach vorne
1777 Leute haben es durchsucht

HTTP-Grundprinzipien

In diesem Artikel erfahren wir mehr über die Grundprinzipien von HTTP und verstehen, was zwischen der Eingabe der URL im Browser und dem Abrufen des Inhalts der Webseite passiert. Das Verständnis dieser Inhalte wird uns helfen, die Grundprinzipien von Crawlern besser zu verstehen.

URI und URL

Hier erfahren wir zunächst etwas über URI und URL. Der vollständige Name des URI ist Uniform Resource Identifier, der einheitliche Ressourcenbezeichner, und der vollständige Name der URL ist Universal Resource Locator, der einheitliche Ressourcen-Locator .

URL ist eine Teilmenge von URI, was bedeutet, dass jede URL eine URI ist, aber nicht jede URI eine URL. Welche Art von URI ist also keine URL? URI enthält auch eine Unterklasse namens URN, die für Universal Resource Name steht. URN benennt nur die Ressource, ohne anzugeben, wo die Ressource zu finden ist. Beispielsweise gibt urn:isbn:0451450523 die ISBN eines Buchs an, die das Buch eindeutig identifizieren kann, aber nicht angibt, wo das Buch zu finden ist. Die Beziehung zwischen URL, URN und URI.

Aber im aktuellen Internet wird URN selten verwendet, daher sind fast alle URIs URLs. Wir können allgemeine Weblinks entweder URLs oder URIs nennen.

Hypertext

Als nächstes wollen wir ein weiteres Konzept verstehen: Hypertext. Die Webseite, die wir im Browser sehen, ist eine Reihe von HTML-Codes Reihe von - Tags, wie zum Beispiel img zum Anzeigen von Bildern, p zum Angeben von Anzeigeabsätzen usw. Nachdem der Browser diese Tags analysiert hat, bildet er die Webseite, die wir normalerweise sehen, und der Quellcode-HTML der Webseite kann als Hypertext bezeichnet werden.

Zum Beispiel öffnen wir eine beliebige Seite im Chrome-Browser, z. B. die Taobao-Startseite, klicken mit der rechten Maustaste auf eine beliebige Stelle und wählen das Element „Inspizieren“

aus (oder drücken direkt die Tastenkombination F12), um das Entwicklertool des Browsers zu öffnen, das Sie sehen können Der Quellcode der aktuellen Webseite auf der Registerkarte „Elemente“ Diese Quellcodes sind alle Hypertext, wie in der Abbildung gezeigt.



HTTP und HTTPSWas ist das Prinzip des HTTP-Protokolls im Python-Webcrawler?

Auf der Homepage von Baidu steht am Anfang der URL http oder https, das ist der Protokolltyp, der für den Zugriff auf Ressourcen erforderlich ist. Manchmal sehen wir auch URLs, die mit ftp, sftp und smb beginnen, was allesamt Protokolltypen sind. Bei Crawlern verwenden die von uns gecrawlten Seiten normalerweise http- oder https-Protokolle. Hier verstehen wir zunächst die Bedeutung dieser beiden Protokolle.

Der vollständige Name von HTTP ist Hyper Text Transfer Protocol und der chinesische Name ist Hyper Text Transfer Protocol. Das HTTP-Protokoll ist ein Übertragungsprotokoll, das zur Übertragung von Hypertextdaten vom Netzwerk an einen lokalen Browser verwendet wird. Es kann eine effiziente und genaue Übertragung von Hypertextdokumenten gewährleisten. HTTP ist eine gemeinsam vom World Wide Web Consortium und der Internet Engineering Task Force (IETF) entwickelte Spezifikation. Derzeit ist die HTTP1.1-Version weit verbreitet.

Der vollständige Name von HTTPS ist Hyper Text Transfer Protocol over Secure Socket Layer. Es handelt sich um einen auf Sicherheit ausgerichteten HTTP

-Kanal. Einfach ausgedrückt handelt es sich um eine sichere Version von HTTP, das heißt, es wird eine SSL-Schicht hinzugefügt wird als HTTPS bezeichnet.

Die Sicherheitsbasis von HTTPS ist SSL, daher werden die darüber übertragenen Inhalte durch SSL verschlüsselt. Seine Hauptfunktionen können in zwei Typen unterteilt werden.


Richten Sie einen Informationssicherheitskanal ein, um die Sicherheit der Datenübertragung zu gewährleisten.

  • Bestätigen Sie die Authentizität der Website, indem Sie auf das Schlosssymbol in der Adressleiste des Browsers klicken, um die echten Informationen anzuzeigen, nachdem die Website authentifiziert wurde Siegel, ausgestellt von der CA-Agentur.

  • Mittlerweile entwickeln sich immer mehr Websites und Apps in Richtung HTTPS, zum Beispiel:

Apple hat vor dem 1. Januar 2017 alle iOS-Apps gezwungen, HTTPS-Verschlüsselung zu verwenden, da die App sonst nicht in der Lage ist im App Store gelistet sein.
  • Ab Chrome 56, das im Januar 2017 eingeführt wurde, zeigt Google an prominenter Stelle in der Adressleiste eine Risikowarnung für URL-Links an, die nicht HTTPS-verschlüsselt sind .

  • Das offizielle Anforderungsdokument des Tencent WeChat Mini-Programms schreibt vor, dass das Backend HTTPS-Anfragen für die Netzwerkkommunikation verwendet. Domänennamen und Protokolle, die die Bedingungen nicht erfüllen, können nicht angefordert werden.

  • HTTP-Anfrageprozess
Wir geben eine URL in den Browser ein und nach Drücken der Eingabetaste beobachten wir den Seiteninhalt im Browser. Tatsächlich besteht dieser Vorgang darin, dass der Browser eine Anfrage an den Server sendet, auf dem sich die Website befindet. Nach dem Empfang der Anfrage verarbeitet und analysiert der Website-Server die Anfrage, gibt dann die entsprechende Antwort zurück und gibt sie dann an den Browser zurück. Die Antwort enthält den Quellcode der Seite und andere Inhalte. Der Browser analysiert ihn und zeigt die Webseite an.

Der Client stellt hier unseren eigenen PC oder mobilen Browser dar, und der Server ist der Server, auf dem sich die Website befindet, die wir besuchen möchten.

Anfrage

Eine Anfrage wird vom Client an den Server gesendet und kann in vier Teile unterteilt werden: Anfragemethode (Anfragemethode), angeforderte URL

(Anfrage-URL), Anfragekopf (Anfragekopfzeilen), Anfragetext (Anfrage). Körper ).

Anfragemethode

Es gibt zwei gängige Anforderungsmethoden: GET und POST.

Geben Sie die URL direkt in den Browser ein und drücken Sie die Eingabetaste. Dadurch wird eine GET-Anfrage initiiert und die Anfrageparameter werden direkt in die URL eingefügt. Die Suche nach Python in Baidu ist beispielsweise eine GET-Anfrage mit dem Link https://www baidu com/. Die URL enthält die Parameterinformationen der Anfrage. POST-Anfragen werden meist beim Absenden eines Formulars initiiert. Beispielsweise wird bei einem Anmeldeformular nach Eingabe des Benutzernamens und des Kennworts durch Klicken auf die Schaltfläche „Anmelden“ normalerweise eine POST-Anfrage initiiert, und die Daten werden normalerweise in Form eines Formulars übertragen und nicht in der URL widergespiegelt.

Die Unterschiede zwischen GET- und POST-Anfragemethoden sind wie folgt:

  • Die Parameter in der GET-Anfrage sind in der enthalten URL, und die Daten können in der URL enthalten sein. Die URL der POST-Anfrage enthält diese Daten nicht. Die Daten werden über das Formular übertragen und in den Anfragetext aufgenommen.

  • Die von der GET-Anfrage übermittelten Daten sind höchstens 1024 Byte groß, während die POST-Methode keine Begrenzung hat.

Im Allgemeinen müssen Sie beim Anmelden einen Benutzernamen und ein Passwort angeben, die vertrauliche Informationen enthalten. Wenn Sie zur Anforderung die GET-Methode verwenden, wird das Passwort eingegeben in der URL offengelegt, was dazu führt, dass das Passwort durchgesickert ist, daher ist es am besten, es hier per POST zu senden. Beim Hochladen von Dateien wird ebenfalls die POST-Methode verwendet, da der Dateiinhalt relativ groß ist.

Die meisten Anfragen, denen wir normalerweise begegnen, sind GET- oder POST-Anfragen. Es gibt auch einige Anfragemethoden wie GET, HEAD,
POST, PUT, DELETE, OPTIONS, CONNECT, TRACE usw al. #? # # ?? 🎜## 🎜 🎜#Die vom Server an den Client zurückgegebene Antwort kann in drei Teile unterteilt werden: Antwortstatuscode, Antwortheader und Antworttext.

  • Antwortstatuscode
    请求的网址,即统一资源定 位符URL,它可以唯一确定 我们想请求的资源。
    Nach dem Login kopieren
  • Antwortkopf ähm
    • 请求头,用来说明服务器要使用的附加信息,比较重要的信息有Cookie . Referer. User-Agent等。
      Nach dem Login kopieren
    • Antworttext
    • 请求体一般承载的内容是 POST请求中的表单数据,而对于GET请求,请求体则为空。
      Nach dem Login kopieren

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

      Verwandte Etiketten:
      Quelle:yisu.com
      Erklärung dieser Website
      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
      Beliebte Tutorials
      Mehr>
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!