| |
|
开发:
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数据传输协议原理 |
????????超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当(百度百科) HTTP协议超文本传输协议. 简单来说HTTP协议是客户端和服务器进行交互的一种通信格式. ????????用户点击一个网络链接, 浏览器向服务器发送一段信息, 告诉服务器我要请求什么网页, 服务器收到请求后, 返回给浏览器一段文本, 浏览器将文本解析成可视化的页面. 这段文本遵循HTTP协议规范. HTTP1.0????????采用文本方式进行数据传输. 简单快速, 允许客户端和服务器之间传输任意格式的数据. 每次连接只能处理一个请求, 并且服务器处理完请求得到客户端的应答之后断开连接, 节省传输时间. 此外, 数据交互过程中, 服务器不知道客户端的状态, 不会记录信息 . HTTP1.0的注意特点时简单快速, 无连接, 无状态. HTTP1.1????????持久性连接通信, 只有客户端和服务器任意一方没有提出断开TCP连接, 连接将会一直保持. 支持多次发起HTTP请求, 支持大数据断点续传. HTTP2.0????????采用二进制数据格式, 不再使用文本进行传输, 只需有一个HTTP连接就能实现多个请求响应, 服务器可以主动推送消息到客户端 交互模型建立连接: 客户端连接服务器, 服务端接收连接 数据交互: 客户端向服务器发起一个请求, 服务器接收到请求后处理请求, 将处理结果响应给客户端. 详细过程:
HTTP请求三部分组成: ????????请求行, 请求头, 一个空行
GET和POST的区别 无论是GET请求还是POST请求, 都是不安全的. 因为HTTP在网络上是明文传输的, 只要在网络节点上抓包, 就能完整的获取数据报文. 想要安全传输, 只有加密, 使用HTTPS. HTTP协议没有对Body和URL的长度做限制, 对URL长度做限制的是浏览器和服务器的原因. GET用于请求数据, POST用于提交数据 GET的参数拼接到URL中, POST的参数封装在Body中 HTTP响应四部分组成: 一个状态行, 响应头, 一个空行, 实体内容 状态行: HTTP版本号 状态码 描述 HTTP/1.1 200 OK 响应头 Location: http://www.test.com : 告诉浏览器, 跳转到哪里 Server:apache tomcat : 告诉浏览器, 服务器的型号 Content-Encoding: gzip : 告诉浏览器数据的压缩格式 Content-Length:80 : 返回数据的长度 Content-Language:zh-cn : 服务器的语言环境 Content-Type : text/html; charset=GB2312 : 返回数据的类型 Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT : 上次更新时间 Refresh : 告诉浏览器要定时刷新 Content-Disposition: attachment; filename=aaa.zip 以下载方式打开数据 Transfer-Encoding: chunked : 数据以分块方式响应 Set-Cookie:SS=Q0=5Lb_nQ; path=/search : 告诉浏览器, 要保存的Cookie Expires: -1 : 告诉浏览器, 不要设置缓存 Cache-Control: no-cache : 告诉浏览器, 不要设置缓存 Pragma: no-cache : 告诉浏览器, 不要设置缓存 Connection: close/Keep-Alive : 告诉浏览器连接方式 Date: Tue, 11 Jul 2000 18:23:51 GMT : 响应时间 Servlet实现B/S模式的通信模型Tomcat: ????????Tomcat是一个运行java的网络服务器, 底层是Socket的一个程序, 也是jsp和Servlet的容器 Tomcat提供别人访问自己的页面的服务 ? Servlet的作用: 能够处理浏览器带来的HTTP请求, 并返回一个响应给浏览器, 实现浏览器和服务器的交互 创建servlet 实现Servlet接口, 重写内置方法: init, destory, service, ServletConfig, getServletInfo Servlet生命周期:
|
|
网络协议 最新文章 |
使用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年12日历 | -2024/12/30 3:52:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |