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 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 计算机网络 --- 应用层2 -> 正文阅读

[PHP知识库]计算机网络 --- 应用层2

一.www概述

1.www体系结构与协议

(1)WWW:World Wide Web,万维网。
(2)HTTP服务器和客户端,以及它们之间执行的HTTP协议。
(3)服务器
①Web页面(HTML文档):包含到多种对象或链接。

②Web对象(包括:静态对象和动态对象):可以是HTML文档、图像文件、视频文件、声音文件、脚本文件等。

③对象用URL(统一资源定位符)编址:协议类型://主机名:端口//路径和文件名。

(4)客户端
①发出请求、接收响应、解释HTML文档并显示。

②有些对象需要浏览器安装插件。
在这里插入图片描述

2.统一资源定位器URLs(Uniform Resource Locators)

在这里插入图片描述
在这里插入图片描述

3.www性能提升方法

(1)前端(front end)
(2)多线程(multiple threads)
(3)缓存(caching),如代理技术
在这里插入图片描述

二.Web对象

1.Web对象分类

(1)静态对象与静态网页
①文本,表格,图片,图像和视频等多媒体类型的信息(实现语言:标记语言,如:HTML、XML、PHP等)。

②字体、颜色和布局等风格类型的信息(实现语言:层叠样式表CSS)。

(2)动态对象与动态网页
①交互信息,比如,用户注册信息、登录信息等(实现:PHP/JSP等语言+MySQL等数据库)。

(3)链接
①超链接(HyperLinks)。

2.动态Web

(1)为什么需要动态Web
①交互性:根据用户的要求和选择而动态地改变和响应。

②自动更新:无须手动更新HTML文档,便会自动生成新页面。

③因时因人而异:不同时间、不同用户访问同一网址时会出现不同页面。

(2)动态Web页面实现
①通用网关接口CGI(*.sgi)。
②脚本语言+数据库技术(*.php,*.sap,*.aspx)。

三.HTTP协议

1.HTTP概述

(1)超文本传输协议HTTP(HyperText Transfer Protocol)在传输层通常使用TCP协议,缺省使用TCP的80端口。

(2)HTTP为无状态协议,服务器端不保留之前请求的状态信息。
①无状态协议:效率低、但简单。
②有状态协议:维护状态相对复杂,需要维护历史信息,在客户端或服务器出现故障时,需要保持状态的一致性等。

2.HTTP发展现状

(1)HTTP/1.0(1996)
①无状态,非持久连接。

(2)HTTP/1.1(1999)
①支持长连接和流水线机制;
②缓存策略优化、部分资源请求及断点续传。

(3)HTTPS:HTTP+TLS(2008)
①增加SSL/TLS层,在TCP之上提供安全机制。

(4)HTTP/2.0(2015、2020)
①目标:提高带宽利用率、降低延迟;
②增加二进制格式、TCP多路复用、头压缩、服务端推送等功能。
在这里插入图片描述

3.HTTP协议运行过程

(1)HTTP协议运行在客户与服务器端的应用程序中。
①客户机:请求、接收、“显示”Web对象。
②服务器:Web服务器响应请求而发送对象。

(2)通过交换HTTP消息进行交流。
在这里插入图片描述

(3)使用TCP
①客户机向服务器发起TCP连接(产生套接字),端口80;

②服务器从客户机接受TCP连接;

③在浏览器(HTTP客户机)和Web服务器(HTTP服务器)之间交换HTTP报文(应用层协议报文);

④关闭TCP连接。

(4)HTTP是无状态的
①服务器不保留有关客户机过去请求的任何信息;
②用户的状态信息由Cookies来实现。

4.非持久连接和持久连接

(1)非持久连接
①HTTP/1.0缺省为非持久连接
服务器接收请求、响应、关闭TCP连接。

②获取每个对象需要两个阶段
a.建立TCP连接;
b.对象请求和传输。

③每次连接需要经历TCP慢启动阶段。

(2)持久连接
①HTTP/1.1缺省为持久连接
在相同的TCP连接上,服务器接收请求、响应;再接收请求、响应;响应后保持连接。

②HTTP/1.1支持流水线机制
需要按序响应。

③经历较少的慢启动过程,减少往返时间,降低响应时间。

5.响应时间估算

(1)往返时间RRT的定义:从客户机到服务器发送一个小分组并返回所经历的时间。

(2)响应时间(1个HTML文件):
①建立TCP连接:1个RRT;
②对HTTP请求和响应返回的前几个字节:1个RRT;
③文件传输时间
总响应时间=2RRT+传输时间。
在这里插入图片描述

6.HTTP报文结构:请求报文

(1)报文由三个部分组成,即开始行、首部行和实体主体。
(2)在请求报文中,开始行就是请求行。
在这里插入图片描述

①方法:
a.是对所请求的对象进行的操作,实际上也就是一些命令;
b.请求报文的类型是由它所采用的方法决定的。
②URL:是所请求资源的URL。
③具体方法:
在这里插入图片描述

(3)请求报文举例
在这里插入图片描述

7.HTTP报文结构:响应报文

在这里插入图片描述
(1)状态码
①状态码都是三位数字

a.1xx:表示通知信息的,如请求收到了或正在进行处理;
b.2xx:表示成功,如接受或知道了。
c.3xx:表示重定向,表示要完成请求还必须采取进一步的行动;
d.4xx:表示客户的差错,如请求中有错误的语法或不能完成;
e.5xx:表示服务器的差错,如服务器失效无法完成请求。

②典型状态码

a.200 OK:请求成功,被请求的对象包含在该响应的数据部分;
b.301 Moved Permanently:请求的对象被移走,新的位置在响应中通过Location:给出;
c.400 Bad Request:服务器不能解释请求报文;
d.404 Not Found:服务器中找不到请求的文档;
e.505 HTTP Version Not Supported:服务器不支持相应的HTTP版本。

(2)响应报文举例
在这里插入图片描述

四.Cookie技术

1.用户与服务器的交互

(1)HTTP是一种无状态协议,不能保存客户信息。

(2)Cookie是一种在客户端保持HTTP状态信息的技术。
①客户端访问网站时,Web服务器会查看、创建、修改Cookie资料;
②帮助Web站点保存访问者信息:浏览历史、购物车等。

(3)cookie技术组成
①cookie识别码(http请求报文、http响应报文);
②客户端保留cookie文件;
③服务器提供后端数据库。

(4)cookie工作过程举例
在这里插入图片描述

2.Cookie的优缺点

(1)好处:能分析用户喜好,向用户进行个性化推荐。
①用Cookie在某网站标识用户信息,查找用户以前浏览网站记录;
②用Cookie记录用户购物清单;
③用Cookie可以保存4K内容,跟踪用户浏览网站的喜好;
④用Cookie跨站点跟踪用户点击广告。

(2)缺点:跟踪用户网络浏览痕迹,泄露用户隐私。
①Cookie跟踪用户以前浏览过哪些网站,跟踪用户频繁浏览哪类网站;
②Cookie收集用户信息,用户网络交互时关注的关键词。
(3)Cookie容易嵌入间谍程序,这是个误区,Cookie文件保存的只是文本串,没有可执行程序。
用户可以设置浏览器限制使用Cookie。

五.Web缓存技术与Web代理

1.Web缓存(代理服务器)

(1)Web缓存:保存最近请求过的web对象。
(2)浏览器向缓存发送所有HTTP请求。
①对象在缓存中:缓存返回对象;
②否则缓存向起始服务器请求对象,然后向客户机返回对象。
(3)好处
①减小客户机请求的响应时间;
②减少机构内部网与因特网接入链路的通信量。
在这里插入图片描述

2.Web缓存一致性

(1)Web缓存存在困难,即Web缓存与原始服务器Web页一致性问题。
①启发式策略:服务器响应Web页的Last-Modified头和Expires头启发-原始Web页一段时间是否有更改;缓存是否在有效期内。

②询问式策略:通过特殊的关键字头询问原始服务器,Web副本是否已更新。

3.条件GET方法

(1)目的:如果缓存中有最新缓存版本,就不发送该对象。(解决问题:缓存中的对象可能不是最新)。

(2)缓存器:在HTTP请求If-modified-since:< date >中,指定缓存版本的日期。

(3)服务器:如果缓存的拷贝是最新,响应不包含对象:HTTP/1.0 304 Not Modified
在这里插入图片描述

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-03-24 00:17:59  更:2022-03-24 00:18:17 
 
开发: 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年5日历 -2024/5/19 0:44:00-

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