Web and HTTP

Web and HTTP First, a review… ▪ web page consists of objects ▪ object can be HTML file, JPEG image, Java applet, audio file,… ▪ web page consists of base HTML-file which includes several referenced objects ▪ each object is addressable by a URL, e.g.,网页有对象组成 网页有基本HTML组成 包括多个引用对象 每个对象都可以通过URL寻址ff86bf8cabbd4fbba97a38d699ffa7e9.pngHTTP 的工作流程 HTTP: hypertext transfer protocol ▪ Web’s application layer protocol ▪ client/server model • client: browser that requests, receives, (using HTTP protocol) and “displays” Web objects • server: Web server sends (using HTTP protocol) objects in response to requests客户端:请求、接收(使用 HTTP 协议)和 "显示 "网络对象的浏览器 - 服务器: 服务器:网络服务器(使用 HTTP 协议)发送对象以响应请求

HTTP overview (continued) uses TCP: ▪ client initiates TCP connection (creates socket) to server, port 80 ▪ server accepts TCP connection from client ▪ HTTP messages (application-layer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server) ▪ TCP connection closed 1客户机启动与服务器TCP连接创建socket 端口 2服务器接受来自客户机的TCP的连接 3客户端与服务器之间交换HTTP信息 4关闭TCP连接

HTTP is “stateless”无状态 ▪ server maintains no information about past client requests服务器不维护过去客户端请求信息protocols that maintain “ state ” are complex! ▪ past history (state) must be maintained ▪ if server/client crashes, their views of “ state ” may be inconsistent, must be reconciled

HTTP connections non-persistent HTTP ▪ at most one object sent over TCP connection • connection then closed最多一个对象在TCP连接 连接后会关闭 ▪ downloading multiple objects required multiple connections persistent下载多个对象需要多个连接 HTTP ▪ multiple objects can be sent over single TCP connection between client, server客户端和服务器之间的单个TCP连接可以发送多个对象

7f46c75232364ace8429147d3f3d2798.pngNon-persistent HTTP: response time RTT (definition): time for a small packet to travel from client to server and back一个数据包从客户端传输到服务器在返回的时间HTTP response time: ▪ one RTT to initiate TCP connection ▪ one RTT for HTTP request and first few bytes of HTTP response to return ▪ file transmission time ▪ non-persistent HTTP response time = 2RTT+ file transmission time启动 TCP 连接的一个 RTT ▪ HTTP 请求和 HTTP 响应返回的前几个字节的一个 RTT ▪ 文件传输时间 ▪  non-persistent HTTP 响应时间 = 2RTT+ 文件传输时间

Persistent HTTP non-persistent HTTP issues: ▪ requires 2 RTTs per object ▪ OS overhead for each TCP connection ▪ browsers often open parallel TCP connections to fetch referenced objects每个 TCP 连接需要 2 个 RTT ▪ 每个 TCP 连接的操作系统开销 ▪ 浏览器经常打开并行 TCP 连接以获取引用对象 persistent HTTP: ▪ server leaves connection open after sending response ▪ subsequent HTTP messages between same client/server sent over open connection ▪ client sends requests as soon as it encounters a referenced object ▪ as little as one RTT for all the referenced objects 同一客户端/服务器之间的后续 HTTP 消息通过打开的连接发送 ▪ 客户端在遇到引用对象时立即发送请求 ▪ 所有引用对象只需一个 RTT

HTTP request message ▪ two types of HTTP messages: request, response ▪ HTTP request message: • ASCII (human-readable format)9f608cdb4706416c91315d8577031ff3.png

3、HTTP request message: general format HTTP 有两类报文: • 请求报文——从客户向服务器发送请求报文。 • 响应报文——从服务器到客户的回答。 由于 HTTP 是面向正文的(text-oriented),因 此在报文中的每一个字段都是一些 ASCII 码串, 因而每个字段的长度都是不确定的

Method types HTTP/1.0: ▪ GET ▪ POST ▪ HEAD • asks server to leave requested object out of response 要求服务器在响应中忽略请求对象HTTP/1.1: ▪ GET, POST, HEAD ▪ PUT • uploads file in entity body to path specified in URL field将实体主体上文件上传到URL字段中指定路径 ▪ DELETE • deletes file specified in the URL field删除URL字段中指定文件

Uploading form input POST method: • web page often includes form input • input is uploaded to server in entity body网页通常包含表单输入 输入在实体正文中上传到服务器 URL method: • uses GET method • input is uploaded in URL field of request line 使用GET方法 在请求行的URL字段中上传输入内容9310f02767fa42118bc2bee142df1fa1.png

d9b05212f60f4604849bde437c1a2720.png

HTTP response status codes status code appears in 1st line in server-to-client response message.状态代码出现在服务器到客户端响应信息的第一行f7f8c179597542deb61bcb405a6857c5.png

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java面向对象进阶---学习第一课

1.static学习: static,是java修饰符,可以修饰成员方法,成员变量。 注意:!!!共享的情况,就是用static来修饰 类名:1.见名知意。2.私有化构造方法 3.方法定义…

发布 AUR 软件包 (ArchLinux)

首发日期 2024-03-09, 以下为原文内容: 理论上来说, 我们应该平等的对待每一个 GNU/Linux 发行版本. 但是, 因为窝日常使用 ArchLinux, 所以对 ArchLinux 有一些特别的优待, 比如自己做的软件优先为 ArchLinux 打包发布. 本文以软件包 librush-bin 为例, 介绍发布 AUR 软件包的…

LF-YOLO

LF-YOLO算法解读,针对x射线图像 1、EMF:网络结构的改变,enhanced multiscale feature(增强的多尺度特性),多尺度融合模块。利用基于参数的方法和无参数的方法,可以同时结合X射线图像的局部和全局上下文,利用…

kaggle竞赛宝典 | 时间序列和时空数据大模型综述!(建议收藏!)

本文来源公众号“kaggle竞赛宝典”,仅用于学术分享,侵权删,干货满满。 原文链接:时间序列和时空数据大模型综述! 作者:算法进阶 时间序列和时空数据大模型综述! 1 前言 大型语言模型&…

short、byte 运算不能赋值给原类型问题分析

一、题目分析 该题目来源于牛客网中的一道选择题 给出如上代码,问你输入结果,但是考试时并不能看出错误原因导致踩坑 ; 鼠标指向报错位置,直接给出提示了,两种类型四则运算都会强制转换为int之后进行运算 二、具体原…

演讲嘉宾公布 | 智能家居与会议系统专题论坛将于3月28日举办

一、智能家居与会议系统专题论坛 智能家居通过集成先进的技术和设备,为人们提供了更安全、舒适、高效、便捷且多彩的生活体验。智能会议系统它通过先进的技术手段,提高了会议效率,降低了沟通成本,提升了参会者的会议体验。对于现代…

Linux系统部署SQL Server结合内网穿透实现公网访问本地数据库

文章目录 前言1. 安装sql server2. 局域网测试连接3. 安装cpolar内网穿透4. 将sqlserver映射到公网5. 公网远程连接6.固定连接公网地址7.使用固定公网地址连接 前言 简单几步实现在Linux centos环境下安装部署sql server数据库,并结合cpolar内网穿透工具&#xff0…

使用OpenHarmony如何定制开发一套分布式亲子早教系统

概述 本篇Codelab是基于TS扩展的声明式开发范式编程语言编写的一个分布式益智拼图游戏,可以两台设备同时开启一局拼图游戏,每次点击九宫格内的图片,都会同步更新两台设备的图片位置。效果图如下: 说明: 本示例涉及使用…

【Gradle】取消使用idea+Gradle创建项目时自动生成.main结尾的子module

显示效果如下图所示&#xff0c;看起来比较不爽&#xff0c;但是不影响使用 解决方案&#xff1a; 一、打开.idea/gradle.xml文件 先在gradle.xml中添加内容 <option name"resolveModulePerSourceSet" value"false" />&#xff0c;然后刷新Gradle工…

嵌入式实习难找怎么办?

今日话题&#xff0c;嵌入式实习难找怎么办&#xff1f;个人建议如果找不到实习机会&#xff0c;可以回归学习嵌入式所需的知识&#xff0c;积累项目经验或者回顾之前参与过的项目&#xff0c;将它们整理复盘。如果还有时间&#xff0c;可以再尝试找实习&#xff0c;如果找不到…

Excel第27享:基于if函数嵌套的多结果唯一性匹配

1、需求描述 如下图所示&#xff0c;现在有E列、F列、G列三列数据&#xff0c;在D列中填充“最终对应编号”&#xff0c;匹配原则是&#xff1a;E列、F列、G列三列数据中&#xff0c;哪个有数据就填充哪个数据&#xff0c;如果都没有&#xff0c;就显示空值即可。 2、解决思路…

Web Service接口测试

Web service 接口测试 一. web Service概念 Web service使用与平台和编程语言无关的方式进行通讯的一项技术, web service 是一个接口, 他描述了一组可以在网络上通过标准的XML消息传递访问的操作,它基于xml语言协议来描述要执行的操作或者要与另外一个web 服务交换数据, 一组…

常用文件怎么做成二维码?文件转二维码的制作教程

现在扫码查看或者下载文件的使用场景越来越多&#xff0c;这种方式不仅有效的提高文件的安全性&#xff0c;还有效提高了文件传输的便捷性&#xff0c;所以现在将文件转二维码是一种很流行的展现方式。那么比较常用的文件格式有pdf、excel、word、ppt等&#xff0c;这些格式的文…

Chain of Verification-CoVe减少LLM中的幻觉现象

Chain-Of-Verification Reduces Hallucination In Large Language Models 在大型语言模型中&#xff0c;产生看似合理但实际上错误的事实信息&#xff0c;即幻觉&#xff0c;是一个未解决的问题。我们研究了语言模型在给出回答时进行深思以纠正错误的能力。我们开发了Chain-of…

引入AGV无人搬运叉车前应该进行的有效沟通

agv 随着科技的快速发展&#xff0c;无人化、智能化成为物流行业发展的新趋势。其中&#xff0c;AGV无人搬运车以其高效、准确、灵活的特点&#xff0c;逐渐成为物流行业的超能英雄。AGV小车小车又叫无人搬运车&#xff0c;自动导引车&#xff0c;移动搬运机器人&#xff0c;指…

接口测试、postman、测试点提取【主】

接口测试是测试系统组件间接口的一种测试 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点 测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系 文章目录 HTTP接口 & Web Service接口RESTful接口…

硬盘哨兵Hard Disk Sentinel Pro V6.20.0.0 便携版

Hard Disk Sentinel 是一款功能强大的硬盘监控和分析软件&#xff0c;专为 Windows 用户设计。它可以实时监测硬盘驱动器&#xff08;HDD&#xff09;、固态硬盘&#xff08;SSD&#xff09;、混合硬盘&#xff08;SSHD&#xff09;、NVMe SSD、RAID 数组和外部 RAID 盒子的健康…

生产力工具|GitHub的使用与将其应用到生产中

一、GitHub的相关介绍 &#xff08;一&#xff09;GitHub平台介绍 GitHub &#xff08;GitHub: Let’s build from here GitHub&#xff09;是一个面向开源及私有软件项目的托管平台&#xff0c;它提供了版本控制功能和协作特性&#xff0c;使得团队成员可以共同协作开发、合…

docker 容器挂掉,无法exec 进入bash 怎么修改容器里的文件

在使用tdengine 数据库时出现了 TDengine.Driver.TDengineError:“code:[0x334],error:Out of dnodes” 查找文档发现需要修改一个配置文件 。 /etc/taos/taos.cfg 中的 supportVnodes 参数 于是修改 保存。然后&#xff0c;运行出错。 03/21 06:56:27.986498 00000064 …

如何设置IDEA远程连接服务器开发环境并结合cpolar实现ssh远程开发

文章目录 1. 检查Linux SSH服务2. 本地连接测试3. Linux 安装Cpolar4. 创建远程连接公网地址5. 公网远程连接测试6. 固定连接公网地址7. 固定地址连接测试 本文主要介绍如何在IDEA中设置远程连接服务器开发环境&#xff0c;并结合Cpolar内网穿透工具实现无公网远程连接&#xf…