IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTP协议 -> 正文阅读

[网络协议]HTTP协议

一、HTTP是什么

1、HTTP(全称为“超文本传输协议”)是一种应用非常广泛的应用层协议

2、HTTP协议除了HTTP3.0基于UDP之外,其他都是基于TCP协议的。

3、我们平时打开一个网站,就是通过HTTP协议来传输数据的;当我们在浏览器输入一个“网址”,此时浏览器就会给对应的服务器发送一个HTTP请求,对方服务器收到这个请求之后,通过计算机处理,就会返回一个HTTP响应。

二、HTTP协议格式

1、HTTP是一个文本格式的协议。控制信息是纯文本的,但其携带的数据信息不做要求。

2、可以通过Chrome开发者工具或者Fiddler抓包,分析HTTP请求/响应的细节。

3、协议格式总结

三、HTTP请求(Request)

1、URL

1)标准

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

协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志。

2)完整的URL由:

协议号(http://)+定位主机(ip/域名+端口(端口可以省略))+路径(/index.*可以省略,写为/)+查询字符串+片段标识符

3)URL中的编码问题:由于URL中能出现的字符是有限,所以,当出现URL不允许出现的字符时,会被URL编码。

4)绝对路径、相对路径

①绝对路径:从树的根节点出发,进行路径的描述(以 / 开头,表示从根出发)

②相对路径:相当于当前“我”所在位置(不以 / 开头,代表不是从根出发、是从当前位置出发 )?

?③ . 代表目前所在的目录; .. 代表上一层目录; /代表根目录。

2、请求方法(method)

请求的格式:

1)GET方法

用于获取服务器上的某个资源;在浏览器中直接输入URL,此时浏览器会发出一个GET请求。

2)POST方法

用于提交用户输入的数据给服务器(登录界面);通过html中的from或者js的ajax构造POST请求。

3)GET和POST区别(面试题)

4)请求“报头”(header)

header的整体的格式也是“键值对”结构;每一个键值对占一行,键与值之间使用分号分割;

① Host:表示服务器主机的地址和端口

② Content-Length:表示body中的数据长度

③? Content-Type:表示请求的body中的数据格式

?④ User-Agent(UA):表示浏览器/操作系统的属性,请求浏览器说明自己的身份

⑤ Referer :表示这个页面是从哪个页面跳转过来的

5)请求“正文”(body)

正文中的内容格式和header中的Content-Type密切相关。

3、HTTP响应

1)状态码(status code)

状态码表示访问一个页面的结果(成功、失败、正在访问中...)

总览:1xx 2xx 3xx 4xx 5xx

常见的状态码:

① 200 ok :表示访问成功

② 404 Not Found : 没有找到资源

③ 505 :服务器出现内部错误

2)响应“报头”(header)

响应报头的基本格式和请求报头的格式基本一致;

3)响应“正文”(body)

正文的具体格式取决于Content-Type.

4、通过form表单构造HTTP请求

1)form发送GET请求

?2)?form发送POST请求

修改代码的方法:将GET改为POST;

主要的区别:

method从GET变成了POST

数据从query string移动到了body中

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:36:04  更:2021-12-26 22:37:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:51:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码