C05S01-Web基础和HTTP协议
一、Web基础
1. Web相关概念
1.1 URL
URL(Uniform Resource Locator,统一资源定位符),是一种用于在互联网上标识和定位资源的标准化地址,提供了一种访问互联网上特定资源的方法。URL的基本格式如下所示:
协议://主机:端口/路径
- 协议:指定了获取资源的方式。协议是通信的规则和标准。
- 主机:指定了资源所在的服务器的域名或IP地址。
- 端口:指定了服务器上用于网络通信的端口。如果省略,浏览器将使用默认端口,http默认是80端口,https默认是443端口。
- 路径:指定了资源在服务器上的所在位置。
1.2 网页和网站
网页(Web Page)是构成万维网(World Wide Web)的基本单元,它是通过互联网传输的文档。网页可以包含文本、图片、视频、音频等多媒体内容,以及超链接(Hyperlinks),这些超链接可以链接到其他网页或者网站。
网页通常使用超文本标记语言(HTML)编写,并可能包含CSS(层叠样式表)用于布局和样式设计,以及JavaScript用于增加交互性。可以通过浏览器访问网页,浏览器将HTML文件转为用户可浏览的页面,以访问相关的资源。
网站是由多个网页组成,是多个网页的结合体。首页是用户打开网站默认显示的网页,是在设计网站时设置好的。
1.3 Web
Web(World Wide Web,全球广域网),也称为万维网。是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。
-
Web 1.0
Web 1.0阶段以静态网页和单向信息传递为特征。在这个阶段,网站主要是由HTML编写的静态页面,用户可以浏览信息,但互动性非常有限。
-
Web 2.0
Web 2.0阶段更注重用户的交互,用户既是网页的消费者,也是网页内容的制造者。
1.4 静态网页和动态网页
静态网页是指内容固定不变,不随用户行为或数据库内容变化而变化的网页,是纯粹的HTML文件所编写的网页。通常没有数据库的支持,网页内容更新相对麻烦,网页的URL也是固定不变的。
- 固定的URL。
- 纯粹的HTML文件。
- 没有数据库支持。
- 不能实现用户和网页的交互。
- 网页访问速度快,网页内容更新麻烦。
动态网页是指内容可以根据用户行为、数据库查询结果或其他变量而变化的网页。
- 网页的URL是可以变化的。
- 网页会根据用户的要求和操作进行响应。
- 网页的内容会自动更新,随着时间和用户的交互而改变。
二、HTTP
1. HTTP概述
HTTP(超文本传输协议),是客户端和用户端之间进行数据传输和通信的一种规则和标准。HTTP协议属于应用层协议,基于传输层的TCP协议实现。客户端和服务端通过TCP协议进行连接的建立,应用层使用HTTP协议进行数据的传输,通过指定端口来进行通信。HTTP协议默认的端口是TCP/80,HTTPS(超文本传输安全协议)协议默认的端口是TCP/443。
2. HTTP连接过程
- 客户端将域名解析为IP地址。
- 客户端和服务端建立TCP连接(三次握手)。
- 客户端发送HTTP请求。
- 服务器处理请求,发送HTTP响应。
- 客户端和服务端断开TCP连接(四次挥手)。
3. HTTP请求报文
HTTP请求报文是客户端发送给服务器的报文,用于请求服务器上的资源。HTTP请求报文包括请求行、请求头和请求体。
- 请求行:
- 请求方法:客户端的请求方法。
- 请求URL:请求的资源路径。
- HTTP版本:使用的HTTP协议版本。
- 请求头:
- 包含了客户端环境信息、请求体的类型和大小等信息。常见的信息包括Host(请求的服务器域名)、User-Agent(客户端信息)、Accept(客户端能够处理的媒体类型)、Accept-Language(客户端偏好的语言)、Accept-Encoding(客户端能够处理的压缩类型)、Content-Type(请求体的媒体类型)、Content-Length(请求体的长度)等。
- 请求体:非必须。
4. HTTP响应报文
HTTP响应报文是服务端发送给客户端的报文,用于响应客户端的请求。HTTP响应报文包括响应行、响应头和响应体。
- 响应行:
- HTTP版本:使用的HTTP协议版本。
- 状态码:一个三位数字,表示请求的结果。
- 状态消息:状态码的简单描述。
- 响应头:
- 包含了服务器环境信息、响应体的类型和大小等信息。常见的响应头包括Content-Type(响应体的媒体类型)、Content-Length(响应体的长度)、Server(服务器软件名称)、Set-Cookie(设置Cookie)、Cache-Control(控制缓存行为)等。
- 响应体:非必须。
5. HTTP请求方式和状态码
HTTP 支持不同的请求方法,每条 HTTP 请求报文都包含一个请求方法, 也就是告诉服务器要执行什么动作。常见的方法包括:GET、POST等。
GET是默认的请求方式,用于请求数据。GET请求是可以被缓存的;请求字段长度有限制,字段会在URL中显示。POST是客户端向服务端提交数据,用于添加数据或修改数据。POST请求是不可以被缓存的;请求字段长度没有限制;字段不会在URL中显示。
HTTP 状态码是一个用于表示服务端响应状态的3位数字代码。
- 1xx:信息提示。
- 200~206:表示请求成功。
- 300~305:表示请求重定向。
- 400~415:表示客户端错误。
- 500~505:表示服务端错误。
常见的状态码包括:
- 200:成功请求。
- 301:永久重定向。
- 302:临时重定向。
- 304:表示使用缓存内容。
- 403:客户端无权限访问。
- 404:客户端访问的资源不存在。
- 500:服务器内部错误。
- 502:服务器网关错误。
- 503:当前服务不可用。
- 504:网关请求超时。
访问网页,出现502的解决方法。
- 考虑服务端的网关配置有误,导致请求报文不能够到达服务端。
- 查看服务端的防火墙配置,是否存在拒绝请求报文访问的规则。
- 查看服务端的配置文件,是否出现配置错误,导致无法正常请求。
相关文章:
C05S01-Web基础和HTTP协议
一、Web基础 1. Web相关概念 1.1 URL URL(Uniform Resource Locator,统一资源定位符),是一种用于在互联网上标识和定位资源的标准化地址,提供了一种访问互联网上特定资源的方法。URL的基本格式如下所示:…...
MIT工具课第六课任务 Git基础练习题
如果您之前从来没有用过 Git,推荐您阅读 Pro Git 的前几章,或者完成像 Learn Git Branching 这样的教程。重点关注 Git 命令和数据模型相关内容; 相关内容整理链接:Linux Git新手入门 git常用命令 Git全面指南:基础概念…...
计算机网络安全
从广义来说,凡是涉及到网络上信息的机密性、报文完整性、端点鉴别等技术和理论都是网络安全的研究领域。 机密性指仅有发送方和接收方能理解传输报文的内容,而其他未授权用户不能解密(理解)该报文报文完整性指报文在传输过程中不…...
Delphi 实现键盘模拟、锁定键盘,锁定鼠标等操作
Delphi 模拟按键的方法 SendMessageA 说明: 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回SendMessage所包含4个参数: 1. hwnd 32位的窗口句柄窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数…...
RTK数据的采集方法
采集RTK(实时动态定位)数据通常涉及使用高精度的GNSS(全球导航卫星系统)接收器,并通过基站和流动站的配合来实现。本文给出RTK数据采集的基本步骤 文章目录 准备设备设置基站设置流动站数据采集数据存储与处理应用数据…...
Next.js 入门学习
一、引言 在现代 Web 开发领域,Next.js 已成为构建高性能、可扩展且用户体验卓越的 React 应用程序的重要框架。它基于 React 并提供了一系列强大的特性和工具,能够帮助开发者更高效地构建服务器端渲染(SSR)、静态站点生成&#…...
2024年认证杯SPSSPRO杯数学建模B题(第一阶段)神经外科手术的定位与导航解题全过程文档及程序
2024年认证杯SPSSPRO杯数学建模 B题 神经外科手术的定位与导航 原题再现: 人的大脑结构非常复杂,内部交织密布着神经和血管,所以在大脑内做手术具有非常高的精细和复杂程度。例如神经外科的肿瘤切除手术或血肿清除手术,通常需要…...
安卓底层相机流的传输方式
这是安卓 相机流的定义 typedef enum {CAM_STREAMING_MODE_CONTINUOUS, /* continous streaming */CAM_STREAMING_MODE_BURST, /* burst streaming */CAM_STREAMING_MODE_BATCH, /* stream frames in batches */CAM_STREAMING_MODE_MAX} cam_streaming_mode_t; 在ca…...
【单链表】(更新中...)
一、 题单 206.反转链表203.移除链表元素 876.链表的中间结点BM8 链表中倒数最后k个结点21.合并两个有序链表 二、题目简介及思路 206.反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 思路简单,但是除了要两个指针进…...
开源堡垒机JumpServer配置教程:使用步骤与配置
开源堡垒机JumpServer配置教程:使用步骤与配置 上一篇文章星哥讲了如何安装JumpServer堡垒机,本篇文章来讲如何配置和使用JumpServer。 安装成功后,通过浏览器访问登录 JumpServer 地址: http://<JumpServer服务器IP地址>:<服务运…...
上门服务小程序开发,打造便捷生活新体验
随着互联网的快速发展,各种上门服务成为了市场的发展趋势,不管是各种外卖、家政、美甲、维修、按摩等等,都可以提供上门服务,人们足不出户就可以满足各种需求,商家也能够获得新的拓展业务渠道,提高整体收益…...
iOS中的类型推断及其在Swift编程语言中的作用和优势
iOS中的类型推断及其在Swift编程语言中的作用和优势 一、iOS中的类型推断 类型推断(Type Inference)是编程语言编译器或解释器自动推断变量或表达式的类型的能力。在支持类型推断的语言中,开发者在声明变量时无需显式指定其类型,…...
工业检测基础-缺陷形态和相机光源选型
缺陷形态与相机选择依据 微小点状缺陷(如微小气泡、杂质颗粒) 相机选择依据: 分辨率:需要高分辨率相机,无论是面阵还是线阵相机,以确保能够清晰地分辨这些微小的点。对于面阵相机,像元尺寸要小&…...
Python100道练习题
Python100道练习题 BIlibili 1、两数之和 num1 20 num2 22result num1 num2print(result)2、一百以内的偶数 list1 []for i in range(1,100):if i % 2 0:list1.append(i) print(list1)3、一百以内的奇数 # 方法一 list1 [] for i in range(1,100):if i % 2 ! 0:lis…...
2024年华中杯数学建模A题太阳能路灯光伏板的朝向设计问题解题全过程文档及程序
2024年华中杯数学建模 A题 太阳能路灯光伏板的朝向设计问题 原题再现 太阳能路灯由太阳能电池板组件部分(包括支架)、LED灯头、控制箱(包含控制器、蓄电池)、市电辅助器和灯杆几部分构成。太阳能电池板通过支架固定在灯杆上端。…...
【JavaWeb后端学习笔记】Java上传文件到阿里云对象存储服务
阿里云对象存储 1、创建阿里云对象存储节点2、上传文件2.1 修改项目配置文件2.2 定义一个Properties类获取配置信息2.3 准备一个alioss工具类2.4 创建注册类,将AliOssUtil 注册成Bean2.5 使用AliOssUtil 工具类上传文件2.6 注意事项 使用阿里云对象存储服务分为以下…...
网盘管理系统
文末获取源码和万字论文,制作不易,感谢点赞支持。 设计题目:网盘管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软…...
learn-(Uni-app)跨平台应用的框架
使用 Vue.js 开发所有前端应用的框架,开发者编写一份代码,可发布到iOS、Android、Web(包括微信小程序、百度小程序、支付宝小程序、字节跳动小程序、H5、App等)等多个平台。 跨平台:Uni-app 支持编译到iOS、Android、W…...
趋同进化与趋异进化的区别及分析方法-随笔03
趋同进化与趋异进化的区别及分析方法 1. 引言 在生物学中,进化是指生物种群随着时间的推移,通过遗传变异、自然选择、基因漂变等机制的作用,逐渐改变其基因型和表型的过程。进化的方式有很多种,其中趋同进化(Converg…...
2024年华中杯数学建模B题使用行车轨迹估计交通信号灯周期问题解题全过程文档及程序
2024年华中杯数学建模 B题 使用行车轨迹估计交通信号灯周期问题 原题再现 某电子地图服务商希望获取城市路网中所有交通信号灯的红绿周期,以便为司机提供更好的导航服务。由于许多信号灯未接入网络,无法直接从交通管理部门获取所有信号灯的数据&#x…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...
