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方法,比如网站中的图片,样式等等。
相关推荐
鲨莎分不晴7 小时前
强化学习第五课 —— A2C & A3C:并行化是如何杀死经验回放
网络·算法·机器学习
Smartdaili China9 小时前
掌握Java网页抓取:技术与示例完整指南
java·网络·学习·指南·网页·住宅ip·爬虫api
雾削木9 小时前
k230 Pyhton三角形识别
运维·服务器·网络·stm32·智能路由器
郝学胜-神的一滴9 小时前
Python数据模型:深入解析及其对Python生态的影响
开发语言·网络·python·程序人生·性能优化
北京聚信万通科技有限公司9 小时前
传输协议:AS3
服务器·网络·安全·电子数据交换·as3
爬山算法10 小时前
Netty(12)Netty支持哪些协议和传输方式?
网络
yong999010 小时前
基于C#与三菱FX5U PLC实现以太网通信
网络·c#·php
遇见火星11 小时前
常见Systemctl语句
linux·服务器·网络·systemctl
专家大圣11 小时前
摆脱局域网束缚!Neko+cpolar 让跨网共享成日常
服务器·网络·docker·内网穿透·cpolar
Awkwardx12 小时前
Linux网络编程—数据链路层
linux·运维·网络