Web开发基础学习——HTTP的理解

Web开发基础学习系列文章目录

第一章 基础知识学习之HTTP的理解


文章目录


前言

HTTP(HyperText Transfer Protocol,超文本传输协议)是用于在 Web 上传输数据的协议。它是客户端(如浏览器)和服务器之间通信的基础。HTTP 定义了一组请求方法和状态码,用于表示不同的操作和响应。


一、HTTP 请求方法

  • GET:请求从服务器获取资源。
  • POST:向服务器提交数据。
  • PUT:更新服务器上的资源。
  • DELETE:删除服务器上的资源。
  • HEAD:类似于 GET 请求,但只请求响应头。
  • OPTIONS:请求服务器支持的通信选项。
  • PATCH:部分更新服务器上的资源。

POST 和 PUT什么区别?

  • POST:用于创建新资源。
  • PUT:用于更新现有资源。

二、HTTP 状态码

  • 1xx(信息性状态码):请求已接收,继续处理。
  • 2xx(成功状态码):请求已成功处理。
    • 200 OK:请求成功。
    • 201 Created:资源已成功创建。
  • 3xx(重定向状态码):需要进一步操作以完成请求。
    • 301 Moved Permanently:资源已永久移动。
    • 302 Found:资源临时移动。
  • 4xx(客户端错误状态码):请求包含错误或无法处理。
    • 400 Bad Request:请求无效。
    • 401 Unauthorized:未授权。
    • 403 Forbidden:禁止访问。
    • 404 Not Found:资源未找到。
      5xx(服务器错误状态码):服务器在处理请求时发生错误。
    • 500 Internal Server Error:服务器内部错误。
    • 502 Bad Gateway:网关错误。
    • 503 Service Unavailable:服务不可用。

三、HTTP 报文

  • 请求报文:包含请求行、请求头和请求体。
    • 请求行:请求方法、URL 和 HTTP 版本。
    • 请求头:元数据(如 Content-Type、User-Agent)。
    • 请求体:可选,包含提交的数据(如表单数据)。
      响应报文:包含状态行、响应头和响应体。
    • 状态行:HTTP 版本、状态码和状态描述。
    • 响应头:元数据(如 Content-Type、Set-Cookie)。
    • 响应体:实际返回的数据(如 HTML、JSON)。

四、示例

  • HTTP 请求
html 复制代码
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
  • HTTP 响应
html 复制代码
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123

<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

总结

HTTP 是 Web 上数据传输的基础协议,通过定义请求方法、状态码和报文格式,实现客户端和服务器之间的通信。

相关推荐
我穿棉裤了4 分钟前
解决el-form表单校验时显示的红色星号与文字对齐的问题
前端·javascript·vue.js
copyer_xyf6 分钟前
Python 类全面总结
前端·后端·python
copyer_xyf10 分钟前
Python 类型注解:从 TypeScript 迁移理解
前端·后端·python
独特的螺狮粉10 分钟前
宋朝官阶制度APP——通过鸿蒙PC Electron框架完成
前端·华为·electron·开源·harmonyos·鸿蒙·鸿蒙系统
IT_陈寒10 分钟前
React开发实战:从入门到精通
前端·人工智能·后端
wuhen_n11 分钟前
实战!前端开发完整 LangChain AI 智能体(附源码)
前端·langchain·ai编程
超人不会飞_Jay14 分钟前
2026.6.4 Vue用户中心项目笔记
前端·vue.js·笔记
copyer_xyf17 分钟前
Python 函数全面总结
前端·后端·python
小哇66618 分钟前
MCP服务 SSE / Streamable HTTP 这两种数据传输机制,怎么用 http 请求查询这个MCP服务支持哪些工具调用, 和怎么调用其中一个工具
网络·网络协议·http
怕浪猫21 分钟前
Electron 开发实战(十):应用打包与分发|全平台打包、签名、自定义协议实战
前端·javascript·electron