Posted on  Updated on 

python的基本语法

前言

花费点时间重新学习一下python语法

使用python语言的目的

  • 爬虫编写
  • 自动化脚本
  • 神经网络

基础语法

爬虫

爬虫的矛与盾

  • 反爬机制
  • 反反爬机制
  • robots.txt

渲染方式

HTTP 协议简介

HTTP(HyperText Transfer Protocol,超文本传输协议) 是一种用于在 Web 客户端(如浏览器)和服务器 之间通信的应用层协议。它是万维网(World Wide Web)中信息交换的基础,用于传输超文本(HTML)、图片、视频等资源。


1. HTTP 的核心特点

  1. 基于请求-响应模型

    • 客户端发送请求,服务器返回响应。
    • 每次通信包含一个请求和一个响应。
  2. 无状态

    • HTTP 本身不记录每次请求的上下文信息。
    • 可通过 CookieSessionToken 机制实现状态管理。
  3. 灵活性

    • 支持多种数据格式(如文本、JSON、XML、图片、视频等)。
    • 能通过扩展实现新功能(如 HTTPS 支持加密通信)。
  4. 无连接

    • 每次请求与响应后,客户端和服务器之间的连接会关闭(HTTP/1.0)。
    • HTTP/1.1 开始支持持久连接(Keep-Alive)。

2. HTTP 工作流程

  1. 客户端向服务器发送一个 HTTP 请求。
  2. 服务器处理请求,并返回一个 HTTP 响应。
  3. 客户端接收到响应后,呈现内容或进一步处理。

请求示例

1
2
3
4
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html

响应示例

1
2
3
4
5
6
7
8
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234

<html>
<head><title>Example</title></head>
<body>...</body>
</html>

3. HTTP 请求方法

方法 作用 描述
GET 请求资源 不包含请求体,仅用于获取数据。
POST 提交数据 常用于表单提交、数据上传等操作。
PUT 更新资源 用于上传或替换指定资源。
DELETE 删除资源 请求服务器删除指定资源。
HEAD 获取资源的元信息(无响应体) 用于获取资源的状态或头信息。
OPTIONS 查询服务器支持的请求方法 常用于跨域请求检查。
PATCH 部分更新资源 更新资源的部分内容。

4. HTTP 状态码

HTTP 状态码是服务器对客户端请求的响应结果,分为以下五大类:

类别 范围 描述
1xx 100-199 信息性响应(请求已接收,继续处理)
2xx 200-299 成功响应(请求成功处理)
3xx 300-399 重定向(需要进一步操作完成请求)
4xx 400-499 客户端错误(请求有问题)
5xx 500-599 服务器错误(服务器无法处理请求)

常见状态码:

  • 200 OK:请求成功。
  • 301 Moved Permanently:永久重定向。
  • 302 Found:临时重定向。
  • 400 Bad Request:客户端请求无效。
  • 401 Unauthorized:需要认证。
  • 403 Forbidden:服务器拒绝请求。
  • 404 Not Found:请求的资源不存在。
  • 500 Internal Server Error:服务器内部错误。

5. HTTP 的重要概念

1. URL(Uniform Resource Locator,统一资源定位符)

URL 是资源的地址,结构如下:

1
协议://主机名[:端口]/路径[?查询参数][#片段标识符]

示例:

1
https://www.example.com:8080/index.html?search=test#section1

2. HTTP Headers(请求头和响应头)

Headers 包含请求或响应的元信息,例如内容类型、长度、认证信息等。

常见请求头:

  • Host:目标服务器地址。
  • User-Agent:客户端信息。
  • Accept:客户端支持的媒体类型。
  • Authorization:认证信息。

常见响应头:

  • Content-Type:响应的内容类型。
  • Content-Length:响应内容的字节数。
  • Set-Cookie:设置 Cookie。

3. HTTP 和 HTTPS

  • HTTP:明文传输,安全性较低。
  • HTTPS:通过 SSL/TLS 加密,提供数据安全性和完整性。

6. HTTP 协议的版本

版本 特性
HTTP/1.0 无状态,无连接,每次请求需建立新连接。
HTTP/1.1 支持持久连接(Keep-Alive),头部字段可压缩。
HTTP/2 支持多路复用、头部压缩、更高效的资源传输。
HTTP/3 基于 QUIC 协议,进一步提升传输性能和安全性。

7. HTTP 的优缺点

优点

  • 简单易用。
  • 灵活支持多种数据格式。
  • 应用广泛,几乎所有 Web 应用都基于 HTTP。

缺点

  • 无状态:需要额外机制管理会话状态。
  • 安全性:原生 HTTP 无加密,容易被攻击(如窃听、篡改)。

总结

HTTP 是现代 Web 通信的基础,简单灵活,但也面临安全和性能问题。随着技术的发展,HTTPS、HTTP/2 和 HTTP/3 已成为趋势,为用户带来更安全、高效的体验。

get·与·post