HTTP协议

文章目录

1、HTTP介绍

HTTP概念

HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

  • 数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。
  • 如果想知道具体的格式,可以打开浏览器,点击F12打开开发者工具,点击Network来查看某一次请求的请求数据和响应数据具体的格式内容,如下图所示:

HTTP协议特点

  1. 基于TCP协议:三次握手进行链接,然后发送请求,安全
  2. 基于请求-响应模型:一次请求对应一次响应
  3. HTTP协议是无状态的协议:对于事务处理没有记忆能力,导致每次请求-响应都是独立的
    • 缺点:多次请求间不能共享数据
    • 优点:速度快
2、HTTP请求数据格式

请求数据格式分为3部份

1、请求行

http 复制代码
GET /login?username=lisi&password=123 HTTP/1.1 
其中 GET	表示请求方法
    /	  表示请求资源路径
    HTTP/1.1 表示协议版本

2、请求头

http 复制代码
第二行来说,格式为 key : value 形式
Host: www.itcast.cn 
Connection: keep-alive 
Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 
User-Agent: Mozilla/5.0 Chrome/91.0.4472.106

3、请求体

http 复制代码
#POST请求的最后一部分,存放请求参数
username=lisi&password=123	

GET请求和 POST请求区别

  1. GET请求请求参数在请求行中,没有请求体。POST请求请求参数在请求体中
  2. GET请求请求参数大小有限制,POST没有
http 复制代码
#GET请求
GET /login?username=lisi&password=123 HTTP/1.1 
Host: www.itcast.cn 
Connection: keep-alive 
Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 
User-Agent: Mozilla/5.0 Chrome/91.0.4472.106
...

#POST请求
POST /login HTTP/1.1 
Host: www.itcast.cn 
Connection: keep-alive 
Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 
User-Agent: Mozilla/5.0 Chrome/91.0.4472.106

username=lisi&password=123

常见的HTTP 请求头

  • Host: 表示请求的主机名
  • User-Agent: 浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0 ... Chrome/79,IE浏览器的标识类似Mozilla/5.0 (Windows NT ...) like Gecko;
  • Accept:表示浏览器能接收的资源类型,如text/*,image/ * 或者 * / *表示所有;
  • Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;
  • Accept-Encoding:表示浏览器可以支持的压缩类型,例如gzip, deflate等。
3、HTTP响应数据格式

响应数据分为3部分

1、响应行(状态行)

http 复制代码
响应数据的第一行
其中HTTP/1.1表示协议版本,200表示响应状态码,OK表示状态码描述

HTTP/1.1 200 OK

2、响应头

http 复制代码
第二行开始,格式为key:value形式

Server: Tengine
Content-Type: text/html
Transfer-Encoding: chunked

3、响应体

http 复制代码
最后一部分,存放响应数据

<html>
<head>
     <title></title>
</head>
<body></body>
</html>

常见的HTTP响应状态码

  1. 200 ok 客户端请求成功
  2. 304 Not Modified 没有修改,使用缓存
  3. 404 Not Found 请求资源不存在
  4. 500 Internal Server Error 服务端发生不可预期的错误

常见的HTTP 响应头:

  • Content-Type:表示该响应内容的类型,例如text/html,image/jpeg;
  • Content-Length:表示该响应内容的长度(字节数);
  • Content-Encoding:表示该响应压缩算法,例如gzip;
  • Cache-Control:指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒
相关推荐
andxe2 小时前
安科士 AndXe 技术博客:400G QSFP112 SR4 光模块|AI 算力与超算短距互联最优方案
网络·人工智能·光模块·光通信
shiyi.十一3 小时前
第2章:应用层 — 知识要点与架构
网络·计算机网络·架构
DFT计算杂谈3 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
中微极客5 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
猿的天空9 小时前
机器人双手迎来全栈训练系统:灵初智能EgoSteer让灵巧手无所不能
网络·人工智能·计算机·ai·程序员·机器人·编程
Xzaveir_7779 小时前
OPPO、vivo、荣耀号码认证:多终端拨测矩阵与异常复现
大数据·网络·科技·矩阵·产品经理·ai-native
wuqingshun3141599 小时前
从网络角度来看,用户从输入网址到网页显示,期间发生了什么?
网络
牛马工作号9 小时前
Zigbee 专业详解:从协议到排障
网络·物联网·安全
牛马工作号10 小时前
Wi‑Fi 完全指南:从 802.11 协议到 Wi‑Fi 7、AC+AP 与 Mesh 工程组网
网络·网络协议·智能路由器
智慧光迅AINOPOL10 小时前
智慧工厂全光网怎么扛住AGV与强电磁?光电复合缆与工业级方案
网络·全光网解决方案·全光网·酒店全光解决方案·泛住宿全光网解决方案