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

目录

  • 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.rhkb.cn/news/420238.html

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

相关文章

简单计算机网络概念

1.浏览器过程 输入url,解析url 1.协议http、https的区别;HTTPS就是在HTTP与TCP之间增加了SSL/TSL安全传输层 2.格式:协议//主机:端口/路径; 3.HTTP版本:1.0和1.1 4.HTTP/1.1:1. 持久连接:为了…

数据结构————单链表

引言 在计算机科学的领域里,数据结构的探索与应用是程序设计的灵魂。单链表,作为一种基础而灵活的数据结构,不仅在理论上有着丰富的内涵,其在实际编程中的应用亦是广泛而深远。本文旨在深入浅出地介绍单链表的实现过程&#xff0c…

探探我对测试开发的看法?

测试开发岗位主要负责确保软件的可用性和稳定性。 ● 可用性不仅包括功能的正常使用,还涵盖了软件在不同环境下的兼容性,如各种网络环境、不同 CPU 核心环境以及多样化的移动端设备等。 ● 稳定性方面我的理解是,测试人员不仅要从用户角度评判…

OpenAI gym: How to get complete list of ATARI environments

题意:OpenAI Gym:如何获取完整的 ATARI 环境列表 问题背景: I have installed OpenAI gym and the ATARI environments. I know that I can find all the ATARI games in the documentation but is there a way to do this in Python, witho…

UE5 半透明阴影 快速解决方案

Step 1: 打开该选项 Step 2: 将半透明材质给到模型后,设置光照的Shadow Resolution Scale,越大,阴影的效果越好 Step 3: 用这种方式去做,阴影会因为半透明的程度,降低阴影的浓度 要…

使用Azure+C#+visual studio开发图像目标检测系统

在这篇文章里面,我们讲解使用AzureC#visual studio在Azure上做图像的目标检测系统。 笔者是头一次接触C#。之前以Python Java和Scala为主。感觉C#.Net是一种挺好用的开发系统。C#和Java非常像。会一个学另一个很快。 首先,目标检测是个什么东西&#x…

【高校主办,EI稳定检索】2024年人机交互与虚拟现实国际会议(HCIVR 2024)

会议简介 2024年人机交互与虚拟现实国际会议(HCIVR 2024)定于2024年11月15-17日在中国杭州召开,会议由浙江工业大学主办。人机交互,虚拟现实技术的发展趋势主要体现在系统将越来越实际化,也越来越贴近人类的感知和需求…

python-新冠病毒

题目描述 假设我们掌握了特定时间段内特定城市的新冠病毒感染病例的信息。在排名 i 的当天有 i 个案例,即: 第一天有一例感染第二天有两例感染第三天有三例感染以此类推...... 请计算 n 天内的感染总数和每天平均感染数。 输入 整数 n 表示天数&…

将星 x17 安装ubuntu 20.04 双系统

准备工作,包含关闭快速启动,关闭Secret Boot 1.进入控制面板选择小图标,找到电源选项 2.点击更改当前不可用的设置,关闭快速启动 3.开机启动时快速按F2,进入BIOS 4.选择Setup Utiltity,选择Security&#…

LeetCode 热题 100 回顾5

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

ArcGIS之建模处理栅格数据以表格显示分区统计(以夜间灯光数据为例)

当需要计算一个shp数据中多个面中的栅格数据值是,可以通过模型构建器进行批量处理,也就是统计多个面中的栅格数据值。但在处理过程中可能会遇见不同的错误,本文会介绍ERROR000883的解决办法。 数据准备:一个shp数据(例…

Idea 创建 Maven项目的时候卡死

文章目录 一、Archetype 和 Catalog1.1 Archetype(原型)1.2 Catalog(目录) 二、可能遇到的问题2.1 问题描述2.2 原因分析2.3 解决方案 参考资料 一、Archetype 和 Catalog 1.1 Archetype(原型) Archetype…

私域电商 IP 化发展的探索与优势

摘要:本文聚焦于私域电商与社交电商的区别,重点探讨私域电商的 IP 属性。深入分析其在获取流量、转化用户以及挖掘用户价值方面的独特优势。同时引入链动 2 1 模式、AI 智能名片、S2B2C 商城小程序源码等元素,详细阐述这些元素在私域电商 IP…

C++——哈希

目录 1.undered系列容器 1.1 undered_map 1.1.1 undered_map特点介绍 1.1.2 undered_map接口介绍 1.2 undered_set 2.底层结构 2.1 哈希概念 2.2 哈希冲突 2.3 哈希函数 2.3.1 哈希函数设计原则: 2.3.2 常见哈希函数 1.直接定值法 2.除留余数法 3.平方…

数学建模笔记——层次分析法

数学建模笔记——层次分析法 数学建模笔记——层次分析法1. 层次分析法的基本原理和步骤2. 层次分析法的建模过程2.1 问题的提出2.2 模型原理2.3 为该问题建立层次结构模型2.4 构造判断矩阵1. 判断矩阵的含义2. 为该问题构造判断矩阵 2.5 一致性检验1. 一致性检验方法2. 对上述…

相机内存卡格式化了照片怎么恢复?格式化恢复详解

摄影爱好者们都知道,相机内存卡是记录我们美好瞬间的重要媒介。然而,在使用过程中,有时我们会因操作不当或设备故障,不小心格式化了内存卡,从而导致珍贵的照片丢失。面对这种情况,我们该如何恢复这些被格式…

电脑pe是什么意思_电脑pe系统作用详细分析

有些小白很好奇,电脑pe是什么意思?所谓的电脑pe系统其实就是当我们的电脑出现问题而不能进入正常系统时候的一种“紧急备用”系统。如果需要重装操作系统的话,以往采用光盘使用的比较多,随着技术的进步,用u盘制作一个pe启动盘去安…

【自然语言处理】实验一:基于NLP工具的中文分词

目录 前言 1. 导入jieba分词器 2. 用精确模式进行中文分词 3. 用全模式进行中文分词 4. 用搜索引擎进行中文分词 5. 利用 lcut返回结果列表(list) 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 &a…

避免在C#循环中使用await

在C#中,异步编程因其能够提升应用程序性能和响应能力而变得越来越流行。async和await关键字使得编写异步代码变得更加容易,但如果使用不当,它们也可能引入一些陷阱。一个常见的错误是在循环中使用await,这可能导致性能瓶颈和意外行…

直播相关01-录制麦克风声音,QT上 .pro 将 linux,mac和windows上配置为三种可以共享, 在.pro文件中 message 的作用

一 QT 上的 .pro 文件 将 linux,mac和windows上配置设置为可以共享 1. 先来看文件夹布局 2. 再来看 QT 中的 .pro文件 .pro 文件的写法 QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler …