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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 2.3-Web应用 -> 正文阅读

[网络协议]2.3-Web应用

URL(Uniform Resource Locater):统一资源定位器 RFC1738

格式:Scheme://host:port/path

例如

HTTP连接类型

http连接分为非持久性连接持久性连接

非持久性连接

每个TCP连接最多允许一个对象。HTTP1.0版本使用非持久性连接。

  1. HTTP客户端向www.some.com的服务端的进程(Port:80)发送TCP连接请求
  2. HTTP服务端在端口80等待TCP连接请求,接受并通知客户端
  3. HTTP客户端将HTTP请求消息(包含URL)通过TCP连接的套接字发出,消息中表明需要的对象,比如someDir/so.index
  4. HTTP服务端收到请求消息,解析,产生包含所需对象的响应消息,通过套接字发送给客户端
  5. HTTP服务端关闭TCP连接
  6. HTTP客户端收到响应消息,解析html文件,展现在浏览器上。

如果此html页面存在,比如含超链接的jpeg图片,那么每个jpeg图片都需要反复以上6步骤才能完整展现在客户端浏览器上。

缺点:每个对象都需要2个RTT、操作系统需要为每个TCP连接开销资源

浏览器对于此的优化:多个TCP并行连接

持久性连接

每个TCP允许多个对象。HTTP1.1版本默认使用持久性连接。

发送响应后,服务器保持TCP连接的打开,后续的HTTP消息可以通过此连接发送。

持久性连接又分为2种:

  • 无流水的持久性连接:客户端收到前一个响应后才发送新的请求,每个对象耗时一个RTT
  • 带有流水线的持久性连接:HTTP1.1的默认选项。客户端遇到对象就尽快发出请求,理想情况下,收到所有对象耗时约1个RTT。

HTTP消息格式

HTTP协议有两类消息:请求消息,响应消息。

请求消息

ASCII格式:人直接可读

例如:

通用格式

上传输入的方法:

  • POST方法:表格(form)、在请求消息的消息体(entity body)中添加。
  • URL方法:使用GET、通过request行的URL字段上传。

响应消息

ASCII格式:人直接可读

例如:

响应状态

尝试一下

Cookie技术

Q:为什么需要cookie?

A:HTTP协议无状态,而网上购物等需要状态的维护

cookie含义:

  • 为了辨别用户身份,进行session跟踪而储存在用户本地终端上的数据(一般进过加密)
  • RFC6265

cookie组件:

  • HTTP响应消息的cookie头部行
  • HTPP请求消息的cookie头部行
  • 保存在客户端的cookie文件(由浏览器管理)
  • Web服务端的后台数据库

cookie原理

仍然存在隐私问题

Web缓存技术

功能:在不访问服务器的前提下满足客户的HTTP请求。

可以缩短客户端请求的响应时间、减少流量、在大范围实现有效的内容分发。

web缓存/代理服务器技术如下图

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:30:49  更:2022-03-21 21:32:20 
 
开发: 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 5:34:39-

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