http基础一

1. HTTP是什么?

HTTP(超文本传输协议,HyperText Transfer Protocol)是一种用于从万维网服务器传输超文本到本地浏览器的协议。它是无状态的客户端-服务器协议,通常在Web浏览器和Web服务器之间用于传输网页、图片、视频等资源。HTTP是应用层协议,工作在OSI模型的第7层。

2. 网络状态码(HTTP状态码)

HTTP状态码是服务器响应客户端请求时返回的3位数字,用于表示响应的处理结果。常见的HTTP状态码包括:

  • 1xx(信息性状态码) :请求已被接受,继续处理。
    • 100 Continue
    • 101 Switching Protocols
  • 2xx(成功状态码) :表示请求已被成功处理。
    • 200 OK:请求成功并返回数据。
    • 201 Created:请求成功并已创建资源。
    • 204 No Content:请求成功,但无返回内容。
  • 3xx(重定向状态码) :表示需要客户端进一步操作才能完成请求。
    • 301 Moved Permanently:资源永久迁移到新位置。
    • 302 Found:资源临时迁移。
    • 304 Not Modified:资源未修改,客户端可以使用缓存。
  • 4xx(客户端错误状态码) :表示客户端的请求有错误,服务器无法处理。
    • 400 Bad Request:请求无效。
    • 401 Unauthorized:未经授权。
    • 403 Forbidden:禁止访问。
    • 404 Not Found:请求的资源未找到。
  • 5xx(服务器错误状态码) :表示服务器在处理请求时发生了错误。
    • 500 Internal Server Error:服务器内部错误。
    • 502 Bad Gateway:无效的网关。
    • 503 Service Unavailable:服务不可用。

3. GET和POST的区别

  • GET
    • 用于获取数据。
    • 请求参数通过URL传递,参数会显示在浏览器地址栏中。
    • 一般用于请求数据,不对服务器数据进行修改。
    • 有长度限制(URL长度限制,通常在2K以内)。
    • 数据传输不安全,因为参数暴露在URL中。
    • 是幂等的,多次相同请求结果相同。
  • POST
    • 用于提交数据。
    • 请求参数通过请求体传递,不显示在浏览器地址栏中。
    • 一般用于向服务器提交数据,可能会改变服务器数据(例如,创建、更新资源)。
    • 没有长度限制。
    • 数据传输相对较安全,但仍然可能会暴露在请求中(建议通过HTTPS加密)。
    • 不是幂等的,重复提交可能会有不同结果。
相关推荐
艾莉丝努力练剑3 分钟前
【Linux网络】Linux 网络编程:HTTP(四)从手写服务器到生产级 Nginx 与 cpp-httplib 实战
linux·运维·服务器·网络·c++·nginx·http
Ether IC Verifier6 分钟前
TCP拥塞控制详解
网络·网络协议·tcp/ip·计算机网络·dpu
切糕师学AI6 分钟前
计算机网络层次结构详解:从OSI七层模型到TCP/IP四层模型
网络·tcp/ip·计算机网络
咖喱o10 分钟前
IPv6
服务器·前端·网络
IpdataCloud10 分钟前
IP查询工具怎么选?在线API vs IP离线库:精度、速度、成本、隐私全对比
服务器·网络·数据库
艾莉丝努力练剑17 分钟前
【Linux网络】Linux 网络编程:HTTP(三)HTTP 协议原理
linux·运维·服务器·网络·c++·http
Gauss松鼠会18 分钟前
GaussDB(DWS) 资源监控Topsql
java·网络·数据库·算法·oracle·性能优化·gaussdb
minji...19 分钟前
Linux 网络基础之网络IP层(十一)私有IP地址和公网IP地址,运营商和全球网络,理解公网
linux·服务器·网络·nat·内网·公网·运营商
米高梅狮子24 分钟前
01.ELK企业日志分析系统
运维·服务器·网络·数据库·elk·oracle
Ether IC Verifier3 小时前
TCP三次握手与四次挥手详解
网络·网络协议·tcp/ip·计算机网络