http与apache

目录

1.http相关概念

2.http请求的完整过程

3.访问浏览器背后的原理过程

4.动态页面与静态页面区别

静态页面:

动态页面:

5.http协议版本

6.http请求方法

7.HTTP协议报文格式

8.http响应状态码

1xx:提示信息

2xx:成功

3xx:重定向

4xx:错误类信息,客户端错误

5xx:错误类信息,服务器端错误

9.apache介绍和特点

apache功能

apache特性

10.httpd相关文件

配置文件:

检查配置语法:

服务单元文件:

服务控制和启动

站点网页文档根目录:

模块文件路径:

主服务器程序文件:


1.http相关概念

  • 互联网:是网络的网络,是所有类型网络的母集
  • 因特网:世界上最大的互联网网络。即因特网概念从属于互联网概念
  • 万维网:WWW(world wide web)万维网并非某种特殊的计算机网络,是一个大规模的、联机式的信息贮藏库
  • URL:万维网使用统一资源定位符(Uniform Resource Locator)来标志万维网上的各种文档,并使每个文档在整个因特网的范围内具有唯一的标识符URL
  • HTTP:为解决"用什么样的网络协议来实现整个因特网上的万维网文档”这一难题,就要使万维网客户程序(以浏览器为主,但不限于浏览器)与万维网服务器程序之间的交互遵守严格的协议,即超文本传送协议
  • HTML:为了解决"怎样使不同作者创作的不同风格的万维网文档,都能在因特网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接”这一问题

2.http请求的完整过程

1).建立连接:接收或拒绝连接请求

2).接受连接:接收客户端请求报文中对某资源的一次请求的过程

  • 单进程I/O模型:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应

  • 多进程I/O模型:并行启动多个进程,每个进程响应一个连接请求

  • 复用I/O结构:启动一个进程,同时响应N个连接请求

  • 复用的多进程I/O模型:启动M个进程,每个进程响应N个连接请求,同时接收M*N个请求

3).处理请求:服务器对请求报文进行解析,并获取请求的资源及请求方法等相关信息,根据方法,资源,首部和可选的主体部分对请求进行处理

4).访问资源:服务器获取请求报文中请求的资源web服务器,即存放了web资源的服务器,负责向请求者提供对方请求的静态资源,或动态运行后生成的资源

5).构建响应报文:一旦Web服务器识别除了资源,就执行请求方法中描述的动作,并返回响应报文。响应报文中 包含有响应状态码、响应首部,如果生成了响应主体的话,还包括响应主体

6).发送响应报文:Web服务器通过连接发送数据时也会面临与接收数据一样的问题。服务器可能有很多条到各个客户端的连接,有些是空闲的,有些在向服务器发送数据,还有一些在向客户端回送响应数据。服务器要记录连接的状态,还要特别注意对持久连接的处理。对非持久连接而言,服务器应该在发送了整条报文之后,关闭自己这一端的连接。对持久连接来说,连接可能仍保持打开状态,在这种情况下,服务器要正确地计算Content-Length首部,不然客户端就无法知道响应什么时候结束

7).记录日志:最后,当事务结束时,Web服务器会在日志文件中添加一个条目,来描述已执行的事务

3.访问浏览器背后的原理过程

4.动态页面与静态页面区别

静态页面:

  • 就是标准的HTML文件,扩展名是.htm、.html,没有后台数据库支持、不含应用程序和网页不可交互,不含有“?”

动态页面:

  • 有后台数据库支持,页面可交互,会自动更新,包含应用程序,扩展名通常以.php、.jsp、.py、.ruby、.perl等形式为后缀,页网址中有一个标志性的符号“?”

5.http协议版本

  • http/1.0:纯文本传输;http响应后会立即关闭TCP连接;支持http头部信息(比如http协议版本号,状态码等)
  • http/1.1:支持长连接(连接保持,持久连接)和管道机制(在一TCP连接中实现多个http请求和响应)
  • http/2.0:二进制传输;支持长连接和完全多路复用(在一个TCP连接中同时发送多个请求,且不用按照顺序一一对应);支持网页头部压缩,支持服务端主动推送
  • http/3.0:基于UDP协议的

6.http请求方法

  • GET: 获取资源 当前网络请求中,绝大部分使用的是 GET 方

  • HEAD: 获取报文首部,主要用于确认 URL 的有效性以及资源更新的日期时间等

  • POST: 传输实体主体 (比如传输 用户名密码)

  • PUT: 上传文件(比如写博客)

  • PATCH: 对资源进行部分修改

  • DELETE:删除文件

  • OPTIONS:查询支持的方法(查看服务端可以支持哪些方法)

  • CONNECT:要求在与代理服务器通信时建立隧道(类似加密)

  • TRACE:追踪路径

7.HTTP协议报文格式

请求报文:请求行(请求方法、请求URL、http协议版本)   请求头(键值类型的元信息)   请求体(post提交的内容)
响应报文:响应行(http协议版本、状态码、状态描述)   响应头(键值类型的元信息)   响应体(服务器返回的html数据)

8.http响应状态码

1xx:提示信息

2xx:成功

3xx:重定向

4xx:错误类信息,客户端错误

5xx:错误类信息,服务器端错误

9.apache介绍和特点

apache功能

  • 提供http协议服务

  • 多个虚拟主机:IP、Port、FQDN

  • CGI:Common Gateway Interface,通用网关接口,支持动态程序

  • 反向代理

  • 负载均衡

  • 路径别名

  • 丰富的用户认证机制:basic,digest

  • 支持第三方模块

apache特性

  • 高度模块化:core + modules

  • DSO:Dynamic Shared Object 动态加载/卸载

  • MPM:multi-processing module 多路处理模块

10.httpd相关文件

配置文件:

/etc/httpd/conf/httpd.conf            //主配置文件
/etc/httpd/conf.d/*.conf              //子配置文件
/etc/httpd/conf.d/conf.modules.d/     //模块加载的配置文件

检查配置语法:

httpd -t
apache2 -t 

服务单元文件:

/usr/lib/systemd/system/httpd.service
/etc/sysconfig/httpd                       //配置文件

服务控制和启动

- systemctl enable|disable httpd.service
- systemctl {start|stop|restart|status|reload} httpd.service
- apachectl start|stop|restart|configtest
- service httpd start|stop|restart|configtest

站点网页文档根目录:

/var/www/html

模块文件路径:

- /etc/httpd/modules
- /usr/lib64/httpd/modules

主服务器程序文件:

/usr/sbin/httpd

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

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

相关文章

2-4、DEBUG和源程序区别

语雀原文链接 文章目录 1、DEBUG 和 汇编编译器MASM区别1:默认进制不同区别2:[地址]示例1:debug示例2:[0]示例3:[寄存器]示例4:ds:[0]小结 区别3:源程序数据不能以字母开头 1、DEBUG 和 汇编编…

【二叉树】

文章目录 树形结构注意要点细分概念树在生活中的应用 二叉树什么是二叉树二叉树特点:两种特殊的二叉树二叉树的性质二叉树性质的练习二叉树的存储二叉树的遍历前序遍历中序遍历后序遍历遍历练习 树形结构 树是一种非线性的数据结构,它具有以下的特点&am…

class059 建图、链式前向星、拓扑排序【算法】

class059 建图、链式前向星、拓扑排序【算法】 code1 建图 package class059;import java.util.ArrayList; import java.util.Arrays;public class Code01_CreateGraph {// 点的最大数量public static int MAXN 11;// 边的最大数量// 只有链式前向星方式建图需要这个数量// 注…

Unity 关于Ray、RaycastHit、Raycast及其使用

Unity中,我们要进行物理模拟和碰撞检测时,有三个重要的概念Ray、RaycastHit、Raycast。 其中,Ray可以理解为射线,它是一条从起点沿着特定方向延伸的无限长线段。 它的语法是: Ray(Vector3 origin, Vector3 directio…

多路径传输(MPTCP MPQUIC)数据包调度研究总结

近些年来,以5G和Wifi6为代表的无线通信技术发展迅速,并已经在全世界实现了大规模部署。此外,智能手机等移动设备不断迭代更新,其网络通信能力也持续演进,使得应用同时利用多个不同网卡在多条不同物理链路上&#xff08…

2023-2024-1-高级语言程序设计-第2次月考编程题

注:此前已发布过的题解不再发布(原题请在下面位置进行搜索)。 7-1-2 排序(算法任意) 本题要求将给定的n个整数从大到小排序后输出(可使用任意排序算法)。 输入格式: 输入第一行给出一个不超过10的正整数n。第二行给…

【Docker】Swarm的ingress网络

Docker Swarm Ingress网络是Docker集群中的一种网络模式,它允许在Swarm集群中运行的服务通过一个公共的入口点进行访问。Ingress网络将外部流量路由到Swarm集群中的适当服务,并提供负载均衡和服务发现功能。 在Docker Swarm中,Ingress网络使…

如何使用HadSky搭配内网穿透工具搭建个人论坛并发布至公网随时随地可访问

文章目录 前言1. 网站搭建1.1 网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道(云端设置)2.3 Cpolar稳定隧道(本地设置)2.4 公网访问测试 总结 前言 经过多年的基础…

ORA-600 kcbzib_kcrsds_1一键恢复

一个19c库由于某种原因redo损坏强制打开库报ORA-600 kcbzib_kcrsds_1错误 SQL> startup mount pfile?/database/pfile.txt; ORACLE instance started. Total System Global Area 859830696 bytes Fixed Size 9034152 bytes Variable Size 5…

Android平板还能编程?Ubuntu本地安装code-server远程编程写代码

文章目录 1.ubuntu本地安装code-server2. 安装cpolar内网穿透3. 创建隧道映射本地端口4. 安卓平板测试访问5.固定域名公网地址6.结语 1.ubuntu本地安装code-server 准备一台虚拟机,Ubuntu或者centos都可以,这里以VMwhere ubuntu系统为例 下载code server服务,浏览器…

TCP通讯

第二十一章 网络通信 本章节主要讲解的是TCP和UDP两种通信方式它们都有着自己的优点和缺点 这两种通讯方式不通的地方就是TCP是一对一通信 UDP是一对多的通信方式 接下来会一一讲解 TCP通信 TCP通信方式呢 主要的通讯方式是一对一的通讯方式,也有着优点和缺点…