HTTP零碎知识点

HTTP请求基本格式

HTTP请求的基本格式包括请求行、请求头、空行和请求正文。常用的HTTP请求方法有GET、POST、PUT、DELETE等,常见的HTTP请求头域包括Host、User-Agent、Accept等。

基本格式:
请求行:由方法(如GET、POST)、URL(统一资源标识符)、HTTP版本(如HTTP/1.1)组成,用于定义请求的类型、目标资源和使用的协议版本。例如:GET /index.html HTTP/1.1。

  1. 请求头:包含各种键值对,用于传递额外的请求信息。这些头部信息可以包括Host(指定服务器的主机名和端口号)、User-Agent(发送请求的客户端信息)、Accept(客户端可接受的内容类型)、Authorization(用于身份验证)等。

  2. 空行:位于请求头和请求体之间,用于分隔这两个部分。即使没有请求体,这个空行也是必须的。

  3. 请求正文:在POST和PUT请求中,请求正文用于传输数据给服务器,比如表单数据或文件内容。其他方法(如GET)通常不包含请求体。

常用方法:

  1. GET:用于请求指定资源的表示形式,不会改变服务器上的数据。常用于获取信息。

  2. POST:用于提交数据以创建或更新服务器上的资源,常用于提交表单数据。

  3. PUT:用于更新服务器上的现有资源,提供完整的数据替换。

  4. DELETE:用于删除服务器上的资源。

  5. HEAD:类似于GET,但不返回消息体,只返回响应头,用于获取资源的元信息。

  6. OPTIONS:请求服务器告知其支持的通信选项。

  7. TRACE:回显服务器收到的请求,用于诊断。

  8. CONNECT:建立到代理服务器的隧道连接,通常用于SSL加密。

常见头域:

  1. Host:指定请求的目的地,即服务器的域名和端口号。

  2. User-Agent:描述发出请求的客户端软件类型和版本。

  3. Accept:指定客户端能够接收的内容类型,如text/html、application/json等。

  4. Authorization:用于身份验证,如Basic认证、Bearer token等。

  5. Content-Type:指明请求体的媒体类型,如application/x-www-form-urlencoded。

  6. Referer:指示引导用户至当前页面的前一个页面的URL。

  7. Cookie:用于会话跟踪或在多个请求间共享状态信息。

  8. Connection:控制连接行为,如keep-alive保持连接开启,close关闭连接。

HTTP响应的基本格式

HTTP响应的基本格式包括:状态行、响应头和响应正文。

  1. 状态行:包含HTTP版本、状态码和原因短语,用于表示请求的处理结果。例如:HTTP/1.1 200 OK

  2. 响应头:包含一些键值对,用于描述服务器的相关信息和响应的属性。常用的响应头域(Header fields)及其含义如下:

    • Date: 响应生成的时间。
    • Content-Type: 响应正文的MIME类型。
    • Content-Length: 响应正文的长度(字节数)。
    • Server: 服务器软件的名称和版本。
    • Set-Cookie: 设置客户端cookie的信息。
    • Cache-Control: 控制缓存的行为。
    • Expires: 响应过期的时间。
    • Last-Modified: 资源的最后修改时间。
    • ETag: 资源的标识符,用于验证缓存的有效性。
  3. 响应正文:包含实际的数据内容,如HTML文档、图片等。

最常用的十种HTTP响应代码及其含义如下:

  1. 200 OK: 请求成功,服务器已成功处理了请求。通常,这表示服务器提供了请求的资源。
  2. 201 Created: 请求成功并且服务器创建了新的资源,此响应应当包含指向新资源的链接和此创建新资源的方法和属性。
  3. 204 No Content: 服务器成功处理了请求,但没有返回任何内容。在不需要返回数据的情况下使用。
  4. 400 Bad Request: 请求无效或语法错误。服务器无法理解请求的语法。
  5. 401 Unauthorized: 请求要求身份验证。客户端必须提供有效的认证信息。
  6. 403 Forbidden: 服务器理解请求,但拒绝执行它。客户端没有权限访问请求的资源。
  7. 404 Not Found: 服务器找不到请求的资源。请求的资源不存在。
  8. 500 Internal Server Error: 服务器遇到了一个未知的错误,无法完成请求。
  9. 503 Service Unavailable: 服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
  10. 301 Moved Permanently: 请求的资源已被永久移动到新位置,将来任何对此资源的引用都应该使用返回的新URL。

MIME类型

MIME(Multipurpose Internet Mail Extensions)是一种互联网标准,用于定义电子邮件和其他应用程序中传输的数据类型和格式。它允许将不同类型的数据(如文本、图像、音频、视频等)嵌入到电子邮件或其他网络协议中进行传输。

MIME顶级类型是指根据数据内容的类型来分类的一组顶级类别。以下是8种常见的MIME顶级类型:

  1. text: 用于表示纯文本数据,例如HTML、XML、CSV等。
  2. image: 用于表示图像数据,例如JPEG、PNG、GIF等。
  3. audio: 用于表示音频数据,例如MP3、WAV、AAC等。
  4. video: 用于表示视频数据,例如MP4、FLV、AVI等。
  5. application: 用于表示各种应用程序数据,例如PDF、ZIP、JSON等。
  6. multipart: 用于表示由多个部分组成的数据,例如邮件附件或多部分消息体。
  7. message: 用于表示消息数据,例如电子邮件消息或新闻组文章。
  8. model: 用于表示三维模型数据,例如VRML、X3D等。

这些顶级类型可以进一步细分为子类型,以更精确地描述具体的数据格式。例如,text/html表示HTML文档,image/jpeg表示JPEG图像,audio/mpeg表示MPEG音频等。

Cookie定义

Cookie是一种小型的文本数据,由服务器发送给浏览器并保存在客户端。它用于存储会话信息,如用户身份、登录状态等,以便在后续请求中能够识别用户

Cookie可以包含多种字符,包括字母、数字、下划线、美元符号($)、破折号(-)和句点(.)。这些字符用于构成Cookie的名称和值,以及其他属性信息。

Cookie的初值是由服务器设置的。当用户首次访问一个网站时,服务器会在响应头中添加Set-Cookie字段,将Cookie信息发送给浏览器。浏览器收到响应后,会将Cookie信息保存到本地,并在后续的请求中通过Cookie字段将Cookie信息发送回服务器。

来自网络编程课作业

posted @   8o1er9t  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示