HTTP(1)

HTTP协议

HTTP是什么

HTTP(全称为"超文本传输协议")是一种应用非常广泛的基于TCP协议的应用层协议。

常见的应用场景:

  1. 浏览器与服务器之间的交互(访问网站)
  2. 手机与服务器之间的通信
  3. 多个服务器之间进行通信

使用Fiddler打开百度网址的请求报文:

GET https://www.baidu.com/index.htm HTTP/1.1
Get 是方法名,表示获取;
https://www.baidu.com/index.htm 表示访问的服务器地址和端口号,域名-->IP,HTTPS-->443;
HTTP/1.1 表示协议和版本号。
Host: www.baidu.com 以及下面数行以键值对形式表示的称之为请求报头,键与值用冒号隔开,键值中可以是HTTP规范中的内容,也可以是程序员自定义的内容。
响应报文:

HTTP/1.1 200 OK 是状态行,200是状态码表示成功响应,OK是对状态码的描述
Connection: keep-alive 以及以下数行则为响应报头,和请求报头的格式一样。

在空行之后,代表body正文部分

认识URL

URL(Uniform Resource Locator 统一资源定位符)其实就是我们俗称的"网址"。

互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎样处理它。

认识方法

方法 说明 支持的HTTP协议版本
GET 获取资源 1.0,1.1
POST 传输实体主体 1.0,1.1
PUT 传输文件 1.0,1.1
DELETE 删除文件 1.0,1.1

大部分场景使用的都是GET方法,比如访问一个网站,获取一个图片,只要是获取资源都是GET。

POST指的是要提交一些数据到服务器,比如登录时输入的用户名密码,最终会被提交到服务器。

PUT在一些系统中用来更新数据

DELETE删除数据

如何指定请求的方法?

  1. 当在浏览器的地址中输入一个URL时并发起访问,发送的全是GET请求
  2. 通过代码(JavaScript)发送请求,可以指定GET,POST,PUT,DELETE
  3. 通过HTML中的表单来指定方法名
  4. 网站加载所需要的一些资源都是用GET方法,比如网站中的图片,样式等等。
相关推荐
YuMiao15 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
不可能的是2 天前
前端 SSE 流式请求三种实现方案全解析
前端·http
Jony_3 天前
高可用移动网络连接
网络协议
chilix4 天前
Linux 跨网段路由转发配置
网络协议
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
gihigo19985 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
2501_946205525 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel5 天前
第七部分:高级IO
服务器·网络
数字护盾(和中)5 天前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库