计算机网络之Web应用

1、web与HTTP
world Wide Web:
网页
网页互相链接
网页包含多个对象:
对象: HTML文件、JPEG图片、视频文件、动态脚本等
基本HTML文件: 包含对其他对象引用的链接
对象的寻址:
URL(Uniform Resource Locator):统一资源定位器
Scheme://host:port/path

2、HTTP协议概述
万维网应用遵循超文本协议(HyperText Transfer Protocol)
C/S结构
客户——Browser:请求、接收、展示Web对象
服务器——Web Server:响应客户的请求,发送对象
HTTP版本
1.0:RFC 1945
1.1:RFC 2068
使用TCP传输服务:
服务器在80端口等待客户的请求
浏览器发起服务器的TCP连接(创建套接字Socket)
服务器接受来自浏览器的TCP连接
浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息
关闭TCP连接

无状态:
服务器不维护任何有关客户端过去所发请求的信息
有协议的协议更复杂:
需维护状态(历史信息)
如果客户或服务器失效,会产生状态的不一致,解决这种不一致代价高

HTTP连接的两种类型
1、 非持久性连接
每个TCP连接最多允许传输一个对象
HTTP1.0版本使用非持久性连接
问题:
1)每个对象需要2个RTT
2)操作系统需要为每个TCP连接开销资源

2、 持久性连接
每个TCP连接允许传输多个对象
HTTP1.1版本默认使用持久性连接
发送响应后,服务器保持TCP连接的打开
后续的HTTP消息可以通过这个连接发送

HTTP请求消息
请求消息:ASCII 人直接可读
响应消息

Cookie技术
某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)

Cookie的组件
HTTP响应消息的cookie头部行
HTTP请求消息的cookie头部行
保存在客户端主机上的cookie文件,由浏览器管理
Web服务器端的后台数据库
原理
在这里插入图片描述
作用:
身份认证、购物车、推荐等

Web缓存/代理服务
功能:在不访问服务器的前提下满足客户端的HTTP请求
Web缓存/代理服务器:
1、用户设定浏览器通过缓存进行Web访问
浏览器向缓存/代理服务器发送所有的HTTP请求
如果所请求对象在缓存中,缓存返回对象
否则,缓存服务器向原始服务器发送HTTP请求,获取对象,然后反水给客户端并保存该对象
2、缓存既充当客户端,也充当服务器
3、一般由ISP(Internet服务提供商)架设
条件性Get方法
目标:如果缓存有最新的版本,则不需要发送请求对象
缓存:在HTTP请求消息中声明所持有版本的日期
服务器:如果缓存的版本是最新的,则响应消息中不包含对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484132.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HBase错误解决(启动Hbase出现错误的替换,启动hbase shell出现ERROR KeeperErrorCode=NoNode for /hbase/master)

1.问题描述 我查阅资料发现,网上很多人和我出现相同的错误,却没有一个可以解决的教程,于是我在解决了我的一个错误后就立即写了这篇文章,需要能帮到一些人,文章不一定对每个人都有效&#xff0c…

如何使用jmeter进行并发登录测试

第一种方案直接从数据库中获取账号和密码 1、设置线程数为20 ,我们的并发用户量就是20个用户同时登录 2、添加定时器 3、设置集合点,当用户数量达到20个的时候再同时请求进行登录操作 4、添加配置元件:JDBC Connection Configuration 5、添加…

云计算与分布式系统课程学习笔记(一)——云计算简介

大数据对于系统架构的需求 显式的需求 海量计算和存储快速计算 隐式的需求 数据的快速传输灵活性低成本 如何实现这些需求? 并行化(并行化的理念存在于计算机方方面面) 并行请求(分配给多个计算机)并行线程&…

DeepMind用神经网络求解MIP后,攻破运筹学只是时间问题?你想多了

来源:杉数科技作者:皇甫琦、葛冬冬、杉数科技COPT开发组Google的DeepMind团队最近官宣了一篇神经网络(Neural Networks)求解MIP论文。一石激起千层浪,在国内外的运筹优化社群引起了讨论。部分围观吃瓜群众纷纷表示:"This is …

计算机视觉-SIFT

一.SIFT(Scale Invariant Feature Transform) 算法 1.图像尺度空间 要让计算机能够对物体在不同尺度下有一个统一的认知,就要需要考虑图像在不同尺度(远近,大小,颜色区别等)下存在的特点.尺度空间的获取通常使用高斯模糊来实现&…

世界上最好的光刻机为什么来自荷兰?【物联网智商精选】

来源: 大数据实验室“是说芯语”已陪伴您439天现在微电子集成电路技术对世界的各种科技电子产品越来越应用广泛了,一个国家的发展越来越离不开高端芯片了,一个国家越是发展得越快对高端芯片需求量越大,比如我国的芯片需求占世界的50&#xff…

云计算与分布式系统课程学习笔记(二)——Linux基本命令的使用与熟悉

(1) jps 【显示当前系统的java进程情况,及其id号】 -q只显示pid,不显示class名称,jar文件名和传递给main方法的参数-m输出传递给main方法的参数-l输出主类的完整包名或者jar文件完整路径名-v输出传递给JVM的参数 编写一个JSPDemo…

【转】为了修复打码女神脸,他们提出二阶段生成对抗网络EdgeConnect

当图像缺失部分太多的时候,结合多阶段方法和边缘先验信息,这个 GAN 实现了高还原度的图像修复,玩法还不止于此。 在过去几年中,深度学习技术在图像修复方面取得了显着进步。然而,许多这些技术无法重建合理的结构&#…

高等数学、线性代数、概率论、几何这些知识可以用来干什么?

来源:图灵人工智能应该会有很多模友在开始学习数学分析和高等数学时,第一反应是:但其实大多数人所用的教材,从大众角度看还没有到一种极致精确的架构数学的程度。大多数的教材所做的还是“我教会你怎么弄这个东西就行了&#xff0…

CentOS7.7安装MySQL5.6并配置环境变量(详细版)

i. tar包下载 官网下载 https://dev.mysql.com/downloads/mysql/网盘获取 链接:https://pan.baidu.com/s/1DpULc0qQ4hqx6HWUwRilpw 提取码:tgdv ii. 安装所需环境 yum -y install make gcc-c cmake bison-devel ncurses-develiii. 解压tar包&#xf…

多少血的教训,才能换来对自动驾驶的严格限定、真实了解和正确使用?

来源:胡延平EarthRambler真的到了应该出台严格的安全措施的时候,而<道路交通安全法*修订建议稿>如何明确责任成为关从最新一起车祸的碰撞情况看,高速公路追尾卡车,雷达对前方目标的识别和驾驶系统的反应可能…

java并发编程-----深入剖析ThreadLocal

一.对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 这句…

VMware下主机与虚拟机剪切板独立,无法直接复制粘贴

看了很多博客都说需要重新安装vmware tools,但我使用的是这种方法,亲测有效!!! 关闭虚拟机点击编辑虚拟机设置->选项选择客户机隔离,勾选上启动复制粘贴即可(如果之前就已经勾选上但失效的情…

教AI区分因果关系和相关性,将改变下一代 AI 的研发

来源:ScienceAI编辑:萝卜皮多年前,AI 领域曾发生过一件荒唐而有趣的事情。据说,研究人员开发了一种对医院数据进行训练的算法。这个算法发现,「患有哮喘的肺炎患者的治愈表现,比没有哮喘的肺炎患者更好」&a…

Java Socket实现客户端服务端之间的通信

Java Socket Java Socket编程用于在不同JRE上运行的应用程序之间的通信。Java Socket编程可以是面向连接的或无连接的。Socket和ServerSocket类用于面向连接的套接字编程,DatagramSocket和DatagramPacket类用于无连接套接字编程。 此Demo将进行单向客户端和服务器…

数据结构-线性结构

一.线性结构 1.顺序线性表 1.1 线性结构是一种基本的数据结构,具有单一前驱和后继的数据关系描述。 1.2 线性表的存储结构分为顺序存储和链式存储。 1.3 顺序线性表的元素间的逻辑关系无需占用额外的空间来存储。 1.4 一般地,以LOC(a1a_1a1​)表示线性…

脑智前沿科普|虚拟现实如何欺骗你的大脑

来源:公众号(脑与心智毕生发展研究中心CLIMB)编辑:Yezi审阅:mingzlee7虚拟现实(Virtual reality, VR)就像被神奇地传送到另一个世界。这是一项令人兴奋的技术,但当我们戴上耳机后,我们很少停下来…

Linux下Java连接数据库出现 Access denied for user 'root'@'localhost' (using password: YES)错误

一、问题描述 centos 7 终端键入 mysql -u root -p 输入密码后可成功访问数据库,但使用IDEA编写Java代码实现数据库连接时却出现Access denied for user ‘root’‘localhost’ (using password: YES) 错误。 二、解决方法 在刚安装mysql时,系统会默认…

被骗两次?黄仁勋骗过世界的14秒,英伟达押宝未来的元宇宙……

来源:物联网智库在近期召开的计算机图形顶级会议ACM SIGGRAPH 2021 上,英伟达介绍了自研的3D仿真模拟和协作平台Omniverse,并放出了“合成版老黄”的打造过程。有媒体据此报道称——万万没想到,在3个月前的GTC大会中,厨…

QT清单打印程序

1.主要代码 //customer.h文件 #ifndef CUSTOMER_H #define CUSTOMER_H#include <QObject> #include <string>class Customer : public QObject {Q_OBJECT public:explicit Customer(QObject *parent nullptr);Customer(const Customer& customer);void setCo…