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方法,比如网站中的图片,样式等等。
相关推荐
艾醒(AiXing-w)1 小时前
Linux系统管理(十九)——欧拉系统硬盘挂载、网络配置以及Docker环境安装
linux·网络·docker
秋叶清风2 小时前
nginx 代理 https 接口
网络·nginx·https
MarkHD3 小时前
第十天 - socket编程基础 - TCP/UDP服务开发 - 练习:简易端口扫描器
网络·tcp/ip·udp
星星跌入梦境*3 小时前
HTTP GET 和 POST 请求有什么区别
网络·网络协议·http
2301_794461573 小时前
构建一个最简单的UDP服务器和客户端并逐行解析
服务器·网络
今夜有雨.3 小时前
C-S模式之实现一对一聊天
linux·服务器·网络·c++·后端·tcp/ip·架构
菌菌的快乐生活4 小时前
SSL证书颁发机构有哪些呢
网络·网络协议·ssl
写bug写bug4 小时前
掌握 HTTP 状态码
前端·后端·http
IT猿手5 小时前
基于CNN-BiLSTM的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码
网络·matlab·cnn
Timememory8296 小时前
园区网拓扑作业
网络