HTTP请求

前言

  • HTTP 基于 TCP/IP 通信协议来传递数据

  • HTTP 基于客户端/服务器(C/S)结构模型

  • 通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议

  • 限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节约传输时间

  • 只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。

  • Multipurpose Internet Mail Extension type 多用途互联网邮件扩展类型

  • 协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快

  • HTTP报文定义:在客户端与服务端之间发送的数据块。这些数据块以一些文本的元信息(meta-information)开头,描述了报文的内容及含义,后面跟着可选的数据部分,这些报文在客户端、服务器和代理之间流动。所以HTTP报文的发送也叫报文流

  • 每条HTTP报文包含一个客户端请求和服务器响应(请求报文Request 和 响应报文Response)

报文的组成

  1. 对报文进行描述的起始行

  2. 包含属性的首部 / 头部(header)

  3. 包含数据的主体(body) (可选项)

基本格式

报文的分类

  • GENERAL(通用报)
  • REQUEST HEADERS(请求报)
  • RESPONSE HEADERS(响应报)

请求方式

GET/POST

OPTIONS:返回服务器针对特定资源所支持的HTTP请求方式

HEAD:返回与 GET 请求相一致的响应,响应体被返回

PUT:向指定资源位置上传其最新内容(form表单不支持)

DELETE:请求服务器删除Request-URI 所识别的资源(form表单不支持)

TRACE:回显服务器收到的请求,主要用于测试或者诊断

CONNECT:连接改为管道方式的代理服务器

  • put 上传资源,form表单不支持,提交即存储的原则(无验证机制,安全漏洞)、需配置服务器支持 put 方式转发打给后端操作

  • delete 删除资源,form表单不支持、提交即删除的原则(无验证机制,安全漏洞)、需配置服务器支持 delete 方式转发打给后端操作

  • post 修改资源

  • get 获取资源

get/post访问

  1. POST 更安全:不会作为 url 的一部分,不会被缓存。保存在服务器日志和浏览器记录中

  2. POST 发送的数据更大(GET有 url 长度限制):

    长度限制:IE(2083字节)、firefox(65536字节)、chrome(8182字节)、safari(80000字节)、opera(190000字节)

  3. POST 能发送更多的数据类型(各种类型的文件)

  4. POST 比 GET 速度慢

    1. POST 请求头包含更多内容

    2. POST 接收数据之前会先请求头发送给服务器确认,然后发送数据

      • 第三次握手,浏览器确认并发送 post 请求头
      • 服务器返回状态码100后,continue响应
      • 浏览器开始发送数据
      • 服务器返回 200 Ok 响应
    3. get 过程

      • 第三次握手,浏览器确认并发送请求头和数据
      • 服务器返回 200 OK 响应
    4. GET会进行数据缓存,POST不会

    5. POST不能进行管道化传输

串行连接

持久化连接

connection:keep-alive:(HTTP/1.0、1.1) 连接不会关闭

管道化持久化连接

(http/1.1 -> 把所有请求放到发送队列里,不等响应,一个一个发送请求的同时接收相应的响应)

相关推荐
ACP广源盛139246256738 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
Empty-Filled9 小时前
AI生成测试用例功能怎么测:一个完整实战案例
网络·人工智能·测试用例
码云数智-大飞10 小时前
本地部署大模型:隐私安全与多元优势一站式解读
运维·网络·人工智能
jinanwuhuaguo10 小时前
(第二十九篇)OpenClaw 实时与具身的跃迁——从异步孤岛到数字世界的“原住民”
前端·网络·人工智能·重构·openclaw
汤愈韬10 小时前
三种常用 NAT 的经典案例
网络协议·网络安全·security
等风来不如迎风去10 小时前
【win11】最佳性能:fix 没有壁纸,一直黑屏
网络·人工智能
Harvy_没救了11 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
汤愈韬11 小时前
NAT Server 与目的Nat
网络·网络协议·网络安全·security
2401_8734794012 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
7ACE13 小时前
Wireshark TS | TLP 超时时间
网络·网络协议·tcp/ip·wireshark·tcpdump