五、RHCE--Web服务器

五、RHCE--Web服务器

    • 1、web服务器简介
      • (1)什么是www
      • (2)网址及HTTP简介
    • 2、web服务器的类型
      • (1)仅提供用户浏览的单向静态网页
      • (2)提供用户互动接口的动态网站
    • 3、虚拟主机配置实战
      • 3.1 搭建静态网站——基于http协议的静态网站
      • 4.2搭建静态网站----基于https协议的静态网站:

1、web服务器简介

(1)什么是www

www是world wide web的缩写,也就是全球信息广播的意思。通常说的上网就是使用www来查询用户所需要的信息。www可以结合文字、图形、影像以及声音等多媒体,并通过可以让鼠标单击超链接的方式将信息以Internet传递到世界各处去。

1、www所用的协议:浏览器怎样向web服务器请求数据以及服务器怎样把文档传送给浏览器呢?这就是由http协议来定义的,(Hyper Text Transport Protocol,HTTP,超文本传输协议)。
2、www服务器需要提供可让客户端浏览的平台。目前最主流的Web服务器是Apache、Microsoft的Internet信息服务器(Internet Information Services,IIS)和unix nginx。
3、服务器所提供的最主要数据是超文本标记语言(Hyper Text Markup Language,HTML)、多媒体文件(图片、影像、声音、文字等,都属于多媒体或称为超媒体),HTML只是一些纯文本数据,通过所谓的标记来规范所要显示的数据格式。
4、客户端收到服务器的数据之后需要软件解析服务器所提供的数据,最后将效果呈现在用户的屏幕上。那么著名的浏览器就有内建在Windows操作系统内的IE浏览器了,还有Firefox浏览器和Google的chrome浏览器。

(2)网址及HTTP简介

web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在redhat中,这个目录默认在 /var/www/html 。浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的。

  • URL:Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。

  • 网址格式:<协议>://<主机或主机名>[:port]/<目录资源,路径>

  • 浏览器常支持的协议有:http、https、ftp等。

  • 主机地址或者主机名:主机地址就是服务器在因特网所在的IP地址。如果是主机名的话,那么就需要域名解析了。

  • 端口号(port):http为80,https为443 (IANA:互联网数字分配机构)

  • 0-1023:众所周知,永久地分配给固定的应用程序使用,特权端口(只有管理员有权限启用并让进程监听)

  • 1024-41951:亦为注册端口,但要求不是特别严格,分配给程序注册为某应用使用:3306/TCP

  • 41952-60000:客户端程序随机使用的端口,动态端口,或私有端口

  • http请求方法:在http通信中,每个http请求报文都包含一个方法,用以告诉web服务器端需要执行哪些具体的动作,这些动作包括:获取指定web页面、提交内容到服务器、删除服务器上资源文件等。

在这里插入图片描述

  • 状态代码:由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

    • 1xx:指示信息 —— 表示请求已接收,继续处理
    • 2xx:成功 —— 表示请求已被成功接收、理解、接受
    • 3xx:重定向 —— 要完成请求必须进行更进一步的操作
    • 4xx:客户端错误 —— 请求有语法错误或请求无法实现
    • 5xx:服务器端错误 —— 服务器未能实现合法的请求
    • 常见状态代码、状态描述的说明如下:
      • 200 OK:客户端请求成功
      • 400 Bad Request:客户端请求有语法错误,不能被服务器所理解
      • 401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用
      • 403 Forbidden:服务器收到请求,但是拒绝提供服务
      • 404 Not Found:请求资源不存在,举个例子:输入了错误的URL
      • 500 Internal Server Error:服务器发生不可预期的错误
      • 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常
  • HTTP报文:http报文中有很多行内容,这些行的字段内容都是由一些ASCII码串组成,但各个字段的长度是不同的。http报文可分为两种,一种是从web客户端发往web服务器的http报文,称为请求报文。另外一种是从web服务器发往web客户端的报文,称为响应报文 。

    • http请求报文由请求行、请求头部、空行和请求报文主体几个部分组成

      报文格式报文信息说明
      请求行请求方法 URL 协议版本请求行是请求报文的第一行,用来说明客户端想要做什么
      请求头字段名1:值1 字段名2:值2 ……Accept:image/gif,image/jpeg 媒体类型
      Accept-Language:zh-cn 语言类型
      Accept-Encoding:gzip,deflate 支持压缩
      User-Agent:Mozilla/4.0(compatible:MSIE6.0;Windows NT;……) 客户端类型
      Host:www.ceshi.com 主机名
      空行空白无内容通知web服务器空行以下不会有请求头部的信息了
      请求报文主体GET方法没有请求报文主体,POST方法才有请求报文主体中包括了要发送给web服务器的数据信息。请求报文主体不会应用于http的GET命令方法,而是应用于post方法。
    • http响应报文由起始行、响应头部、空行和响应报文主体这几个部分组成

      报文格式报文信息说明
      起始行协议及版本号 数字状态码 状态信息用来说明服务器响应客户端请求的状况,例如:HTTP/1.1 200 OK
      响应头部字段名1:值1 字段名2:值2常见的头部信息: Content-Length: 81 说明响应主体的长度 Content-Type: text/html; charset=UTF-8 说明文档的MIME类型
      空行空白无内容通知客户端空行以下无头部信息了
      响应报文主体 test this is test 响应报文主体中装载了要返回给客户端的数据,这些数据可以是文本,也可以是二进制的(如图片,视频)。
  • MIME(Multipurpose Internet Mail Extension,多用途因特网邮件扩展)最初是为了解决在不同的电子邮件系统之间搬移报文时存在的问题。后来http也支持了这个功能,用它来描述数据并标记不同的数据内容类型。
    当web服务器响应http请求时,会为每一个http对象数据加一个MIME类型。当web浏览器获取到服务器返回的对象时,会去查看相关的MIME类型,并进行相应的处理。
    MIME类型存在于HTTP响应报文的响应头部信息里,它是一种文本标记,表示一种主要的对象类型和一个特定的子类型。常见的MIME类型:

    MIME类型文件类型
    text/htmlhtml、htm、shtml文本类型
    text/csscss文本类型
    text/xmlxml文本类型
    image/gifgif图像类型
    image/jpegjpeg、jpg图像类型
    application/javascriptjs文本类型
    text/plaintxt文本类型
    application/jsonjson文本类型
    video/mp4mp4视频类型
    video/quicktimemov视频类型
    video/x-flvflv视频类型
    video/x-ms-wmvwmv视频类型
    video/x-msvideoavi视频类

(3)http协议请求的工作流程

(1)终端客户在web浏览器地址栏输入访问地址http://www.ceshi.com:80/index.html
(2)web浏览器请求DNS服务器把域名www.ceshi.com解析成web服务器的IP地址
(3)web浏览器将端口号(默认是80)从访问地址(URL)中解析出来
(4)web浏览器通过解析后的ip地址及端口号与web服务器之间建立一条TCP连接
(5)建立TCP连接后,web浏览器向web服务器发送一条HTTP请求报文
(6)web服务器响应并读取浏览器的请求信息,然后返回一条HTTP响应报文。
(7)web服务器关闭HTTP连接,关闭TCP连接,web浏览器显示访问的网站内容到屏幕上。

2、web服务器的类型

(1)仅提供用户浏览的单向静态网页

单纯是由服务器单向提供数据给客户端,Server不需要与client端有互动,所以你可以到该网站上去浏览,但是无法进行数据的上传。

(2)提供用户互动接口的动态网站

这种类型的网站可以让服务器与用户互动,常见的例如留言板,博客。这种类型的网站需要通过“网页程序语言”来实现与用户互动的行为。常见的例如:PHP网页程序语言,配合数据库系统来进行数据的读、写。当你在向服务器请求数据时,其实是通过服务器端同一个网页程序在负责将数据读出或写入数据库,变动的是数据库的内容,网页程序并没有任何改变。
另外一种交互式的动态网页主要是在客户端实现。服务端将可执行的程序代码(JavaScript)传送给客户端,客户端的浏览器如果提供JavaScript的功能,那么该程序就可以在客户端的计算机上面工作了;另外一种可在客户端执行的就是flash动画格式,在这种动画格式内还可以进行程序设计。搭建动态网站的需求:

LAMP(linux+Apache+MySQL+PHP)
Apache主要提供www的服务器平台
MySQL:传统的文件读取是很麻烦的,如果你只要读取该文件当中的一小部分,系统还是会将整个文件读出来,若又有人同时读取同一个文件时,那就会造成效率与系统上的问题,所以才会有数据库系统的推出。数据库其实是一种特殊格式的文件,这种文件要通过特殊接口(数据库软件)来进行读写。由于这个特殊接口已经针对数据的查询、写入做过优化设计,因此很适合多人同时写入与查询工作。
PHP:PHP可以被用来建立动态网页,PHP程序代码可以直接在HTML网页当中嵌入,就像编辑HTML网页一样简单。PHP是一种“程序语言”,这种程序语言可以直接在网页当中编写,不需要经过编译即可执行。

3、虚拟主机配置实战

3.1 搭建静态网站——基于http协议的静态网站

实验1:搭建一个web服务器,访问该服务器时显示“This is my web page”欢迎界面 。
1.安装软件

[root@MPF ~]# yum install httpd -y
[root@MPF ~]# systemctl restart httpd

重启之后,在浏览器中输入本机的地址

在这里插入图片描述
显示以上这样,则安装成功!
此时,就可以搭建自己的web页面

[root@MPF ~]# echo "This is my web page" > /var/www/html/index.html

然后,再刷新页面即可。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
成功搭建了一个简单的web服务器!

练习2:基于不同IP来访问不同的网站:ip+port --> ip不同,端口号不同
配置文件:conf/httpd.conf: 主配置文件
1.增加俩个IP地址

[root@MPF]# nmcli c modify ens160 +ipv4.address 192.168.111.110/24
[root@MPF]# nmcli c modify ens160 +ipv4.address 192.168.111.111/24
[root@MPF]# nmcli c up ens160    ---重新加载配置 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)
[root@MPF ]# ip addr show ens160   ---查看ens160配置
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:b4:d0:1c brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.111.101/24 brd 192.168.111.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet 192.168.111.110/24 brd 192.168.111.255 scope global secondary noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet 192.168.111.111/24 brd 192.168.111.255 scope global secondary noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:feb4:d01c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

2.建立俩个网站的目录以及首页文件

[root@MPF ~]# cd /usr/share/doc/httpd-core/
[root@MPF httpd-core]# mkdir /www/ip/{110,111} -p
[root@MPF httpd-core]# ls -l /www/ip/
total 0
drwxr-xr-x. 2 root root 6 Jan 20 22:27 110
drwxr-xr-x. 2 root root 6 Jan 20 22:27 111

[root@MPF httpd-core]# echo "server 192.168.111.110" > /www/ip/110/hello.html
[root@MPF httpd-core]# echo "server 192.168.111.111" > /www/ip/111/hello.html
[root@MPF httpd-core]# cat /www/ip/110/hello.html /www/ip/111/hello.html
server 192.168.111.110
server 192.168.111.111

3.配置虚拟主机(前提要访问目录需要具备访问的目录的权限
推荐在conf.d去新建一个配置文件xxx.conf

[root@MPF httpd-core]# cd /etc/httpd/conf.d/
[root@MPF conf.d]# vim myhosts.conf

#配置目录权限
<Directory "/www/ip">
#举止 .htaccess来复写权限
   AllowOverride None
#允许所有的来源访问
   Require all granted
</Directory>
<VirtualHost 192.168.111.110:80>
#网站的根目录
  DocumentRoot "/www/ip/110"
</VirtualHost>

<VirtualHost 192.168.111.111:80>
</VirtualHost>
  DocumentRoot "/www/ip/111"

4.重启服务,重新加载配置,测试

[root@MPF conf.d]# systemctl restart httpd

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述

练习2:基于相同ip不同端口来访问俩个不同的网站
1.ip使用原有ip,port在配置文件中:listen port
2.创建俩个网站目录以及首页文件

[root@MPF conf.d]# mkdir /www/port/{9090,9091} -p
[root@MPF conf.d]# ls -l /www/port/
total 0
drwxr-xr-x. 2 root root 6 Jan 20 22:48 9090
drwxr-xr-x. 2 root root 6 Jan 20 22:48 9091
[root@MPF conf.d]# echo "server 192.168.111.110:9090" > /www/port/9090/hello.html
[root@MPF conf.d]# echo "server 192.168.111.110:9091" > /www/port/9091/hello.html
[root@MPF conf.d]#
[root@MPF conf.d]# cat /www/port/9090/hello.html /www/port/9091/hello.html
server 192.168.111.110:9090
server 192.168.111.110:9091
[root@MPF conf.d]#

3.配置虚拟主机

[root@MPF conf.d]# vim /etc/httpd/conf.d/myhosts2.conf
<Directory "/www/port">
    AllowOverride None
    Require all granted
</Directory>
#监听端口
Listen 9090
Listen 9091
<VirtualHost 192.168.111.110:9090>
#网站的根目录
  DocumentRoot "/www/port/9090"
</VirtualHost>

<VirtualHost 192.168.111.110:9091>
  DocumentRoot "/www/port/9091"
</VirtualHost>

4.重启服务以及测试
http协议:默认使用的80端口,在访问时添加端口号
例如:http://192.168.111.110:9090/

[root@MPF conf.d]# systemctl restart httpd

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述

练习3:基于俩个域名来访问俩个网站

练习4:基于虚拟目录以及用户控制(访问web服务器的时候需要用户进行登录)

4.2搭建静态网站----基于https协议的静态网站:

[root@Fly ~]# yum install mod_ssl.x86_64 -y    安装软件
[root@Fly ~]# tree /etc/httpd/     # 查看是否有ssl.conf文件
[root@Fly ~]# grep -Ev '^#|^$'  /etc/httpd/conf.d/ssl.conf   #查看配置
Listen 443 https
SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout  300
SSLCryptoDevice builtin
<VirtualHost _default_:443>   #虚拟主机的配置
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on   #启用ssl
SSLHonorCipherOrder on   #ssl加密算法排序
SSLCipherSuite PROFILE=SYSTEM
SSLProxyCipherSuite PROFILE=SYSTEM
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/var/www/cgi-bin">    #目录权限
    SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

配置一个SSL
1.添加一个IP

[root@Fly ~]# nmcli c modify ens33 +ipv4.addresses 192.168.111.11/24
[root@Fly ~]# nmcli c up ens33

2.创建一个网站目录和添加首页文件

[root@Fly ~]# mkdir -p /www/https
[root@Fly ~]# echo "This is a https page" > /www/https/hello.html
[root@Fly ~]# cat /www/https/hello.html
This is a https page
<Directory "/www/https">
           AllowOverride None
           Require all granted
</Directory>
<VirtualHost 192.168.111.11:443>
        SSLEngine on
        SSLProtocol all -SSLv3
        # 加密套件
        SSLCipherSuite PROFILE=SYSTEM
        # 证书
        SSLCertificateFile /etc/pki/tls/certs/localhost.crt
        # 私钥
        SSLCertificateKeyFile /etc/pki/tls/certs/localhost.crt
        #网站内容目录
        DocumentRoot   "/www/https"
</VirtualHost>

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

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

相关文章

sqlserver alwayson部署文档手册

1、ALWAYSON概述 详细介绍参照官网详细文档,我就不在这里赘述了&#xff1a; https://learn.microsoft.com/zh-cn/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server?viewsql-server-ver16 下图显示的是一个包含一个…

【iOS ARKit】3D人体姿态估计实例

与2D人体姿态检测一样&#xff0c;在ARKit 中&#xff0c;我们不必关心底层的人体骨骼关节点检测算法&#xff0c;也不必自己去调用这些算法&#xff0c;在运行使用 ARBodyTrackingConfiguration 配置的 ARSession 之后&#xff0c;基于摄像头图像的3D人体姿态估计任务也会启动…

LeetCode:292.Nim 游戏

大一开学到现在&#xff0c;我不禁思考一个问题&#xff1a;代码重要吗&#xff1f; 我的答案是&#xff0c;根本不重要&#xff0c;或者说&#xff0c;是次要的。我认为分析问题&#xff0c;和画图是写题的开始&#xff0c;方法的学习&#xff0c;和灵活运用是目的。代码从来…

canvas设置图形各种混合模式,类似photoshop效果

查看专栏目录 canvas实例应用100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

(6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理

目录 一、为什么要使用Adaboost建模? 二、泰坦尼克号分析(工作环境) (插曲)Python可以引入任何图形及图形可视化工具 三、数据分析 四、模型建立 1、RandomForestRegressor预测年龄 2、LogisticRegression建模 引入GridSearchCV 引入RandomizedSearchCV 3、Deci…

《区块链简易速速上手小册》第2章:区块链的工作原理(2024 最新版)

文章目录 2.1 分布式账本技术&#xff08;DLT&#xff09;2.1.1 DLT基础知识2.1.2 主要案例&#xff1a;供应链管理2.1.3 拓展案例 1&#xff1a;数字身份2.1.4 拓展案例 2&#xff1a;投票系统 2.2 加密和安全性2.2.1 加密技术基础2.2.2 主要案例&#xff1a;比特币交易2.2.3 …

【DC渗透系列】DC-2靶场

arp先扫 ┌──(root㉿kali)-[~] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:6b:ed:27, IPv4: 192.168.100.251 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.100.1 00:50:56:c0:00:08 VMware, In…

Macbook 安装金铲铲之战等 IOS 游戏

前言 Macbook 现在可以玩一下 IOS 系统上的游戏啦&#xff0c;以笔者的 M1 Pro 芯片为例 步骤 一、安装 PlayCover 推荐 Sonama 安装 Nightly 版本 官网地址&#xff1a; https://playcover.io/ Nightly: https://nightly.link/playcover/playcover/workflows/2.nightly_re…

SQL 函数(十二)

SQL 函数&#xff08;十二&#xff09; 一、函数分类 1.1 单行函数 单行函数仅对单个行进行运算&#xff0c;并且每行返回一个结果。 常见的函数类型&#xff1a; 字符、数字、日期、转换 1.2 多行函数 多行函数能够操纵成组的行&#xff0c;每个行组给出一个结果&#x…

通过 editplus 批量转换文本编码

有时候需要对文本的编码进行批量转换&#xff0c;文本编辑器 notepad 中的“编码”菜单可以用来转换单个的文档编码&#xff0c;当文档数量多的时候&#xff0c;一个个操作比较繁琐&#xff0c;通过文本编辑器 editplus 软件&#xff0c;可以方便快速地批量修改文本文件的编码&…

帕鲁存档跨云迁服教程

近期一款名为幻兽帕鲁的游戏爆火&#xff0c;以迅雷不及掩耳之势拳打csgo&#xff0c;脚踢dota2&#xff0c;登顶steam同时在线第一名。 由于其独特的个人服务器机制&#xff0c;各大云厂商纷纷响应&#xff0c;腾讯云原价330的4核16G的轻量应用服务器新用户现在最低只要66元一…

GLIP:零样本学习 + 目标检测 + 视觉语言大模型

GLIP 核心思想GLIP 对比 BLIP、BLIP-2、CLIP 主要问题: 如何构建一个能够在不同任务和领域中以零样本或少样本方式无缝迁移的预训练模型&#xff1f;统一的短语定位损失语言意识的深度融合预训练数据类型的结合语义丰富数据的扩展零样本和少样本迁移学习 效果 论文&#xff1a;…

SSL证书的验证过程

HTTPS是工作于SSL层之上的HTTP协议&#xff0c;SSL&#xff08;安全套接层&#xff09;工作于TCP层之上&#xff0c;向应用层提供了两个基本安全服务&#xff1a;认证和保密。SSL有三个子协议&#xff1a;握手协议&#xff0c;记录协议和警报协议。其中握手协议实现服务器与客户…

问题:根据全面推进国防和军队现代化的战略安排,_____把人民军队全面建成世界一流军队。 #经验分享#媒体

问题&#xff1a;根据全面推进国防和军队现代化的战略安排&#xff0c;_____把人民军队全面建成世界一流军队。 A、2020年 B、2035年 C、本世纪中叶 D、2045年 参考答案如图所示 问题&#xff1a;判断题&#xff1a;高处作业传递物件应使用绳索&#xff0c;在确认作业下方…

Qt QGraphicsScene 基于视频的绘图

需求&#xff1a; 基于视频进行 图形的绘制。 方案&#xff1a; 上一篇文章分享了如何将视频实时渲染到QGraphicsScene 系统里&#xff0c;并简单讲述了如何进行绘图&#xff0c;但在实际使用时还是发现了一些技巧&#xff0c;现在总结一下。 Qt 基于海康相机 的视频标绘-CSD…

人类的本性,逃不开党同伐异

近几年以来&#xff0c;不知道大家有没有感受到&#xff0c;网络上越来越充满戾气。 无论哪个网站&#xff0c;只要打开评论区&#xff0c;充斥在眼前的总是一片乌烟瘴气。 一言不合就「对线」&#xff0c;动不动一顶帽子扣过去&#xff0c;说话前先「站队」「找友军」&#xf…

博途PLC限幅器(SCL代码)

PLC限幅器详细介绍,可以参考下面文章: https://rxxw-control.blog.csdn.net/article/details/128701050https://rxxw-control.blog.csdn.net/article/details/128701050三菱PLC限幅器 https://rxxw-control.blog.csdn.net/article/details/135212965

C++入门的基础

幸福比傲慢更容易蒙住人的眼睛。 ——大仲马 C入门 1、属于C的关键字1、1、C从何而来1、2、C关键字(C98) 2、命名空间2、1、命名空间的定义2、2、命名空间使用 3、C输入和输出4、缺省参数4、1、缺省参数概念4、2、缺省参数分类 5、函数重载5、1、函数重载概念 6、引用6、1、引用…

PHP框架详解 - symfony框架

首先说一下为什么要写symfony框架&#xff0c;这个框架也属于PHP的一个框架&#xff0c;小编接触也是3年前&#xff0c;原因是小编接触Golang&#xff0c;发现symfony框架有PHP框架的东西也有Golang的东西&#xff0c;所以决定总结一下&#xff0c;有需要的同学可以参看小编的G…

yolov1到v8的变化

目录 1.YOLO介绍&#xff1a;1.变化&#xff1a;小结&#xff1a; 1.YOLO介绍&#xff1a; YOLO&#xff08;You Only Look Once&#xff09;是一种流行的目标检测算法&#xff0c;它的版本从YOLOv1到YOLOv8经历了多次改进。以下是YOLOv1到YOLOv8的一些不同之处和改变&#xf…