当前位置: 首页 > news >正文

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连接过程

  1. 客户端将域名解析为IP地址。
  2. 客户端和服务端建立TCP连接(三次握手)。
  3. 客户端发送HTTP请求。
  4. 服务器处理请求,发送HTTP响应。
  5. 客户端和服务端断开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的解决方法。

  1. 考虑服务端的网关配置有误,导致请求报文不能够到达服务端。
  2. 查看服务端的防火墙配置,是否存在拒绝请求报文访问的规则。
  3. 查看服务端的配置文件,是否出现配置错误,导致无法正常请求。

相关文章:

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配置教程&#xff1a;使用步骤与配置 上一篇文章星哥讲了如何安装JumpServer堡垒机&#xff0c;本篇文章来讲如何配置和使用JumpServer。 安装成功后&#xff0c;通过浏览器访问登录 JumpServer 地址: http://<JumpServer服务器IP地址>:<服务运…...

上门服务小程序开发,打造便捷生活新体验

随着互联网的快速发展&#xff0c;各种上门服务成为了市场的发展趋势&#xff0c;不管是各种外卖、家政、美甲、维修、按摩等等&#xff0c;都可以提供上门服务&#xff0c;人们足不出户就可以满足各种需求&#xff0c;商家也能够获得新的拓展业务渠道&#xff0c;提高整体收益…...

iOS中的类型推断及其在Swift编程语言中的作用和优势

iOS中的类型推断及其在Swift编程语言中的作用和优势 一、iOS中的类型推断 类型推断&#xff08;Type Inference&#xff09;是编程语言编译器或解释器自动推断变量或表达式的类型的能力。在支持类型推断的语言中&#xff0c;开发者在声明变量时无需显式指定其类型&#xff0c…...

工业检测基础-缺陷形态和相机光源选型

缺陷形态与相机选择依据 微小点状缺陷&#xff08;如微小气泡、杂质颗粒&#xff09; 相机选择依据&#xff1a; 分辨率&#xff1a;需要高分辨率相机&#xff0c;无论是面阵还是线阵相机&#xff0c;以确保能够清晰地分辨这些微小的点。对于面阵相机&#xff0c;像元尺寸要小&…...

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题 太阳能路灯光伏板的朝向设计问题 原题再现 太阳能路灯由太阳能电池板组件部分&#xff08;包括支架&#xff09;、LED灯头、控制箱&#xff08;包含控制器、蓄电池&#xff09;、市电辅助器和灯杆几部分构成。太阳能电池板通过支架固定在灯杆上端。…...

【JavaWeb后端学习笔记】Java上传文件到阿里云对象存储服务

阿里云对象存储 1、创建阿里云对象存储节点2、上传文件2.1 修改项目配置文件2.2 定义一个Properties类获取配置信息2.3 准备一个alioss工具类2.4 创建注册类&#xff0c;将AliOssUtil 注册成Bean2.5 使用AliOssUtil 工具类上传文件2.6 注意事项 使用阿里云对象存储服务分为以下…...

网盘管理系统

文末获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 设计题目&#xff1a;网盘管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软…...

learn-(Uni-app)跨平台应用的框架

使用 Vue.js 开发所有前端应用的框架&#xff0c;开发者编写一份代码&#xff0c;可发布到iOS、Android、Web&#xff08;包括微信小程序、百度小程序、支付宝小程序、字节跳动小程序、H5、App等&#xff09;等多个平台。 跨平台&#xff1a;Uni-app 支持编译到iOS、Android、W…...

趋同进化与趋异进化的区别及分析方法-随笔03

趋同进化与趋异进化的区别及分析方法 1. 引言 在生物学中&#xff0c;进化是指生物种群随着时间的推移&#xff0c;通过遗传变异、自然选择、基因漂变等机制的作用&#xff0c;逐渐改变其基因型和表型的过程。进化的方式有很多种&#xff0c;其中趋同进化&#xff08;Converg…...

2024年华中杯数学建模B题使用行车轨迹估计交通信号灯周期问题解题全过程文档及程序

2024年华中杯数学建模 B题 使用行车轨迹估计交通信号灯周期问题 原题再现 某电子地图服务商希望获取城市路网中所有交通信号灯的红绿周期&#xff0c;以便为司机提供更好的导航服务。由于许多信号灯未接入网络&#xff0c;无法直接从交通管理部门获取所有信号灯的数据&#x…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...