[项目][WebServer][项目介绍及知识铺垫][上]详细讲解

news2024/11/16 0:01:05

目录

  • 1.何为WWW?
  • 2.HTTP分层
    • 1.整体
    • 2.细节
    • 3.DNS?
    • 4.协议之间是如何协同运作的?
  • 3.Http相关概念
    • 1.特点
    • 2.URI && URL && URN
    • 3.HTTP URL格式


1.何为WWW?

  • WWW是环球信息网的缩写,常简称为Web
  • 分为Web客户端和Web服务器程序,WWW可以让Web客户端(常用浏览器)访问浏览Web服务器上的页面,是一个由许多互相链接的超文本组成的系统,通过互联网访问
  • 在这个系统中,每个有用的事物,称为一样“资源”
    • 并且由一个全局“统一资源标识符”(URI)标识
    • 这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源
  • HTTP(超文本传输协议)是基于TCP的连接方式进行网络连接
  • HTTP/1.1版本中给出一种持续连接的机制(长链接)
  • 绝大多数的Web开发,都是构建在HTTP协议之上的Web应用

2.HTTP分层

1.整体

请添加图片描述

2.细节

请添加图片描述

3.DNS?

请添加图片描述

4.协议之间是如何协同运作的?

请添加图片描述


3.Http相关概念

  • 目前主流服务器使用的是http/1.1版本,但是本项目为了简化代码,按照http/1.0来完成项目

1.特点

  • 客户/服务器模式(B/S/C/S)
    请添加图片描述

  • 简单快速,HTTP服务器的规模小,因而通信速度很快

  • 灵活,HTTP允许传输任意类型的数据对象,正在传输的类型由Content-Type加以标记

  • 无连接,每次连接只处理一个请求

    • 服务器处理完客户的请求,并收到客户的应答后,即断开连接
    • 采用这种方式可以节省传输时间 (http/1.0具有的功能,http/1.1兼容)
  • 无状态

    • http协议每当有新的请求产生,就会有对应的新响应产生,协议本身并不会保留你之前的一切的请求或者响应
    • 这是为了要更快的处理大量的事物,保证协议的可伸缩性
  • 可是,随着web的发展,因为无状态而导致业务处理变得棘手起来,比如保持用户的登录状态

    • http/1.1虽然也是无状态协议,但是为了保持状态的功能,引入了Cookie和Session技术

2.URI && URL && URN

  • URI是Uniform Resource Identifier,统一资源标识符,用来唯一的标识一个资源
  • URL是Uniform Resource Locator,统一资源定位符,他是一种具体的URI
    • 即:URL可以用来标识一个资源,而且还指明了如何locate这个资源
  • URN,Uniform Resource Name,统一资源命名,是通过名字来标识资源,比如MAILTO:java-net@java.sun.com
  • URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式,URL和URN都是一 种UR
  • URL是URI的子集,可以理解成URL是一种特殊类型的URI,包含了如何获取指定资源
    • 任何东西,只要能够唯一地标识出来,都可以说这个标识是URI
    • 如果这个标识是一个可获取到上述对象的路径,那么同时它也可以是一个URL
    • 但如果这个标识不提供获取到对象的路径,那么它就必然不是URL
  • 示例:
    • URI: /home/index.html
    • URL: www.xxx.com:/home/index.html

3.HTTP URL格式

  • 格式:http://host[":"port][abs_path]
    • http表示要通过HTTP协议来定位网络资源
    • host表示合法的Internet主机域名或者IP地址,本主机IP:127.0.0.1
    • port指定一个端口号,为空则使用缺省端口80
    • abs_path指定请求资源的URI
    • 如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成
      • 虽然浏览器默认会添加/,但是依旧没有告知服务器,要访问什么资源
      • 此时,默认返回对应服务的首页
  • 例子:
    • 输入: www.baidu.com,浏览器自动转换成:http(s)://www.baidu.com/
    • 一个较为完整的http请求:https://github.com/DieSnowK/Study

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

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

相关文章

基于微信小程序点餐、外卖系统的设计与实现 (源码+lw+参考文档+核心代码讲解等)

基于微信小程序点餐、外卖系统的设计与实现(源码lw部署文档讲解等) 项目概述: 这段时间做了一个关于点餐的小程序,也是学习和总结的一部分,希望对大家有所帮助。本课题的主要目标是设计并能够实现一个基于微信小程序点餐系统。项目采用的是…

视频监控管理平台LntonAIServer视频智能分析抖动检测算法应用场景

在视频监控系统中,视频画面的稳定性对于确保监控效果至关重要。抖动现象是指视频画面中存在不稳定或频繁晃动的情况,这可能会影响视频的清晰度和可读性。LntonAIServer通过引入抖动检测功能,帮助用户及时发现并解决视频流中的抖动问题&#x…

数据库设计中的需求分析

在数据库设计中,需求分析 是至关重要的一步。它不仅是设计过程的起点,也是后续步骤的基础。如果需求分析出现问题,那么后续所有设计阶段的结果都会受到影响,最终可能导致整个设计返工,耗费大量时间和资源。因此&#x…

不小心从 Android 设备中删除了重要消息,恢复永久删除的消息知识

您是否曾经不小心从 Android 设备中删除了重要消息,并迫切希望能够恢复它们?好吧,好消息是你可以!通过一些简单的步骤和正确的工具,您可以恢复那些已删除的消息并找回您认为永远丢失的信息。在本教程中,我将…

redis的 stream数据类型实现 消息队列?

redis的 stream数据类型实现 消息队列? redis的消息队列可以通过: PUB/SUB,订阅/发布模式:缺点是发布订阅模式是无法持久化的,如果出现网络断开、Redis 宕机等,消息就会被丢弃; 使用列表 List…

sklearn-逻辑回归-特征工程示例

sklearn-逻辑回归-特征工程示例 在实际应用场景中,有时候特征的数量会很多,我们出于业务考虑,也出于计算量的考虑,希望对逻辑回归进行特征选择来降维。比如在判断一个人是否会患乳腺癌的时候,医生如果看58个指标来确诊…

【系统方案】大数据库建设技术方案(PPT完整版)

大数据湖建设方案旨在构建一个集中式、可扩展的数据存储与分析平台,集中整合企业内外各类数据资源,形成统一的数据资产池。通过先进的数据处理技术,实现数据的快速入库、高效查询与深度分析,为企业决策提供全面、实时、精准的数据…

关于 win10安装.NET framework 3.5失败 的解决方法

文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/142030841 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、Op…

Stable Diffusion AI算法,实现一键式后期处理与图像修复魔法

在当今数字影像时代,后期处理技术已成为将原始图像转化为视觉上令人惊叹艺术作品的点睛之笔。随着人工智能技术的飞速发展,尤其是Stable Diffusion技术在图像处理领域的应用,图片后期处理已达到前所未有的高度,为摄影师、设计师及…

【秒达开源】多功能中文工具箱源码:自部署 全开源 轻量级跨平台 GPT级支持+高效UI+Docker

【秒达开源】多功能中文工具箱源码发布:自部署、全开源、轻量级跨平台,GPT级支持高效UI,Docker/便携版任选,桌面友好丰富插件生态 这是一款集大成之作,专为追求高效与便捷的用户量身打造。它不仅支持完全自部署&#…

Axure科技感设计案例教程:从按钮到大屏的全面探索

Axure RP,作为一款强大的原型设计工具,不仅能够帮助设计师快速构建产品界面,还能通过其丰富的交互功能实现高度逼真的科技感效果。以下是一个简要的教程,介绍如何使用Axure RP设计科技感按钮、图标、统计、图表以及大屏界面。 1.…

Watt ToolKit(steam++)加速服务启动失败,443端口被vsvnhttpsvc(5792)占用。请关掉443端口的程序或者尝试使用系统代理模式

系列文章目录 文章目录 系列文章目录前言一、pandas是什么?二、使用步骤三、 解决办法 前言 在使用Watt ToolKit(steam),加速服务启动失败,443端口被vsvnhttpsvc(5792)占用。请关掉443端口的程序或者尝试使用系统代理…

海外云手机有哪些推荐?

随着云手机的发展,越来越多的企业和个人开始使用云手机来满足他们的海外业务需求。用户可以通过云手机实现方便、快捷的海外访问,一般用来进行tiktok运营、亚马逊电商运营、海外社媒运营等操作。海外云手机平台有很多,以下是一些比较好的云手…

ProbVLM: Probabilistic Adapter for Frozen Vison-Language Models 论文阅读

ProbVLM: Probabilistic Adapter for Frozen Vison-Language Models 论文阅读 Abstract1. Introduction2. Related Work3. Method3.1. Problem Formulation3.2. Building ProbVLM3.3. Latent Diffusion for Probabilistic Embeddings 4. Experiments and Results5. Conclusion阅…

基于spring的博客系统(二)

4. 业务代码 4.1 持久层 根据需求, 先⼤致计算有哪些DB相关操作, 完成持久层初步代码, 后续再根据业务需求进⾏完善 1. ⽤⼾登录⻚ a. 根据⽤⼾名查询⽤⼾信息 2. 博客列表⻚ a. 根据id查询user信息 b. 获取所有博客列表 3. 博客详情⻚ a. 根据博客ID查询博客信息 b. 根据博客I…

【论文阅读】01-Survey on Temporal Knowledge Graph

原文名称:Survey on Temporal Knowledge Graph 1 Introduction 目前有两种方法:基于距离模型的嵌入变换方法和基于语义匹配模型的双线性模型。它们的思想都是将包含实体和关系的知识图谱嵌入到连续的低纬度实向量空间中 时间知识图的推理有两种,第一种是…

LeetCode 热题 100 回顾5

干货分享,感谢您的阅读!原文见:LeetCode 热题 100 回顾_力code热题100-CSDN博客 一、哈希部分 1.两数之和 (简单) 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标…

【电子通识】半导体工艺——光刻工艺

什么是光刻工艺 人们经常将 Photo Lithography(光刻)缩写成 Photo。得此名称的原因是,这个工艺在晶圆上利用光线来照射带有电路图形的光罩,从而绘制电路。光刻工艺类似于洗印黑白照片,将在胶片上形成的图像印在相纸上。…

Java | Leetcode Java题解之第395题至少有K个重复字符的最长子串

题目&#xff1a; 题解&#xff1a; class Solution {public int longestSubstring(String s, int k) {int ret 0;int n s.length();for (int t 1; t < 26; t) {int l 0, r 0;int[] cnt new int[26];int tot 0;int less 0;while (r < n) {cnt[s.charAt(r) - a];…

一个小例子,给你讲透 Go 配置管理,轻松将其融入到项目中

在软件开发中&#xff0c;配置管理是一个不可或缺的部分。无论是开发环境、测试环境还是生产环境&#xff0c;我们都需要一种方法来存储和读取配置信息。 在 Golang 项目中&#xff0c;Viper 是一个非常流行且功能强大的库&#xff0c;用于处理配置文件。下面我会写一些例子&am…