HTTP(Hypertext Transfer Protocol)协议关键知识点

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的协议,它是在Web中数据通信的基础。以下是HTTP协议的一些关键知识点:

  1. HTTP基础概念:

    • 客户端和服务器: HTTP是一种客户端-服务器协议,其中客户端发送请求,而服务器返回响应。
    • 无状态性: HTTP是一种无状态协议,每个请求都是独立的,服务器不会保留前一次请求的状态信息。
  2. HTTP请求(Request):

    • 请求方法(HTTP Methods): 常见的请求方法包括 GET、POST、PUT、DELETE、HEAD 等。
      请求方法作用特点例子
      GET用于请求获取指定资源请求参数附加在URL中,对服务器的请求不会产生实际的修改操作获取网页、图片、文件等
      POST用于向指定资源提交数据,数据被包含在请求体中对服务器的请求可能会导致对资源的状态变化或副作用提交表单、上传文件、进行登录操作等
      PUT用于向指定资源位置上传新的实体数据,或者更新现有资源提交的数据完全取代了指定资源的所有当前表示更新文章、更新用户信息等
      DELETE请求服务器删除指定的资源对服务器的请求可能会导致资源的永久性删除删除文章、删除用户等
      HEAD与GET方法类似,但服务器只返回头部信息,不返回实体的主体部分主要用于获取资源的元信息而无需传输整个实体获取资源的元信息,如文件大小、修改时间等,但不获取实际内容

    • 请求URL(Uniform Resource Locator): 标识请求的资源,包括协议、主机名、端口、路径等信息
    • 请求头(Request Headers): 包含关于请求的信息,如用户代理、内容类型等
    • 请求体(Request Body): 对于某些请求(如 POST),请求体包含发送到服务器的数据。
  3. HTTP响应(Response):

    • 状态码(Status Code): 表示请求的结果
      1xx(信息性状态码)100 Continue: 服务器已收到请求头,并且客户端应继续发送请求体
      2xx(成功状态码)

      200 OK: 请求成功。常用于GET和POST请求。

      201 Created: 请求已经被实现,而且有一个新的资源已经依据请求的需要而建立。

      204 No Content: 服务器成功处理了请求,但不需要返回任何实体内容。

      3xx(重定向状态码)

      301 Moved Permanently: 被请求的资源已永久移动到新位置。

      302 Found: 被请求的资源临时从不同的URI响应请求。

      303 See Other: 对于GET或POST请求,资源存在于另一个URI,应使用GET方法检索。

      304 Not Modified: 资源未被修改,可以使用缓存的版本

      4xx(客户端错误状态码)

      400 Bad Request: 服务器无法理解客户端的请求,通常因为请求中包含无效的参数。

      401 Unauthorized: 请求未经授权,需要身份验证。 403 Forbidden: 服务器理解请求,但拒绝执行。通常是因为缺乏访问资源的权限。

      404 Not Found: 请求的资源在服务器上未找到。

      5xx(服务器错误状态码)

      500 Internal Server Error: 服务器遇到了一个未曾预料的状况,导致无法完成对请求的处理。

      501 Not Implemented: 服务器不支持当前请求所需要的某个功能。

      502 Bad Gateway: 服务器作为网关或代理,从上游服务器接收到无效的响应。

      503 Service Unavailable: 服务器当前无法处理请求,一般用于临时性的维护或过载情况。

    • 响应头(Response Headers): 包含关于响应的信息,如服务器类型、日期、内容类型等。
    • 响应体(Response Body): 包含由服务器返回的数据。
  4. HTTP协议版本:

    • 目前主要使用的版本是 HTTP/1.0、HTTP/1.1 和 HTTP/2。新版本通常带来性能和安全性的改进。
  5. URL结构:

    • URL由协议、主机名、端口、路径、查询字符串和片段组成。例如:https://www.example.com:8080/path/to/resource?name=value#section.
  6. HTTP头部(Headers):

    • 通用头部(General Headers): 请求和响应消息都可以包含的头部。
    • 请求头部(Request Headers): 包含有关请求的信息,如 Host、User-Agent 等。
    • 响应头部(Response Headers): 包含有关响应的信息,如 Content-Type、Server 等。
    • 实体头部(Entity Headers): 描述实体正文的信息,如 Content-Length、Content-Encoding 等。
  7. 状态码:

    • 1xx(信息性状态码): 接收到请求,继续处理。
    • 2xx(成功状态码): 请求成功被服务器接收、理解、并接受。
    • 3xx(重定向状态码): 需要客户端采取进一步的操作来完成请求。
    • 4xx(客户端错误状态码): 客户端看起来可能发生了错误,妨碍了服务器的处理。
    • 5xx(服务器错误状态码): 服务器不能完成明显有效的请求。
  8. Cookie和Session:

    • Cookie: 服务器通过 Set-Cookie 头部将信息保存在客户端,客户端在后续请求中通过 Cookie 头部将信息发送回服务器。
    • Session: 一种在服务器端存储信息的机制,通常使用 Cookie 或 URL 参数来维持会话。
  9. HTTPS:

    • HTTP协议的安全版本,通过TLS/SSL进行加密通信,防止信息被中间人窃听和篡改。
  10. WebSockets:

    • 提供全双工通信通道,允许客户端和服务器之间进行实时通信。
  • 20
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值