| |
|
开发:
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地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |