了解web基础,http协议

news2024/11/15 15:56:38

域名

例如:www.baidu.com

dns域名:

网络上的通信都是基于ip,通信模式:TCP/IP

Tcp建立连接和断开连接,都是要双方进行确认的

建立连接:三次握手

断开连接:四次挥手

通信时端到端

端口进行通信(进程或者服务都是有指定的端口号)

http 80

Ngigx 80

Ssh 80

Mysql 3306

ip地址:端口号

Ip地址是主机在互联网上唯一的标识

Ip是确定省份,你是谁,从哪来

端口:你要访问谁

公网ip地址已经耗尽,现在这个唯一标识(ip地址),nat地址转换

Ip地址是一个点分十进制组成的

192.168.233.10

192.168.233 网络位

10 主机位

dns解析:

网络都是域名,dns的解析的作用,就是把域名解析成ip地址

迭代:从根域名到二级域

返回用户的过程:递归---运营商---本地hosts---用户

Dns解析的三种方式:

第一种:

/etc/hosts 本地解析,速度最快,如果需要配置的解析地址多,工作量比较大

格式:vim /etc/hosts

例如:192.168.233.10  www.baidu.com

访问域名就是在访问ip地址

第二种:

DNS服务器来进行解析

运营商:运营商提供一个DNS解析的ip地址

cat /etc/resolv.conf

格式

nameserver 8.8.8.8

第三种:

网卡配置:

Ifcfg-ens33

生效的顺序:

Hosts文件的优先级最高----网卡匹配------dns服务器(resolve.conf)

分布式和集群

分布式:把计算机系统或者是应用程序分布在多台独立的计算机和服务器上,通过网络的通信以及协作共同完成特定的任务或者服务

分布式的特点:

工作负载分散到多个节点上,提高性能和可靠性

常见的分布式系统:分布式前段Nginx 分布式数据库 分布式文件系统

集群:把多台计算机或者服务器连接在一块,形成一个单一的计算资源池。计算机通过网络互相连接,共享任务,集群都是由相同类型的计算机组成,运行的程序也是相同的

作用:通过增加计算机节点,扩展系统,然后提高整体的处理能力和容量

LNMP 架构:

L linux部署咋Linux

N Nginx提供网页访问

M MYSQL 数据库,保存用户名和密码

P PHP,处理动动态页面

html:

Html:超文本标记语言,也是我们最常用的网页格式,即是一种规范,也是一种标准,也是一个文本文件。

Xxx.html(主流)

Xxx.htm

网页:纯文本格式的文件 语言HTML。浏览器来翻译html语言形成网页

网站:是由多个网页组成,网页的结合体,打开网站之后,出现的第一个页面就是我们所说的网站或者主页

域名:域名需要注册,访问的网站是输入的网址就是我们说的域名

传输方式:http/https

http:超文本传输协议,https:加密的超文本传输协议,靠ssh证书进行认证,网页的传输通

信协议

URL:万维网的寻址系统(唯一标识)

URI:每一个/后面的就是,例如www.baidu.com/test/index.html

/test后面就是URI匹配网站不同分枝的内容

超链接:超链接把网站中的不同内容连接起来

url:

URL:万维网的寻址系统(唯一标识)

URI:每一个/后面的就是,例如www.baidu.com/test/index.html

/test后面就是URI匹配网站不同分枝的内容

超链接:超链接把网站中的不同内容连接起来

静态页面和动态页面:

静态页面只是文本文件,可以修改,一般以.html .htm保存的文本文件,网站的基础。静态页面和后台数据库没有任何交互,不包含请求程序,更新起来比较复杂,一般适用于更新比较少的展示型网站

一般都是网站的主页,静态页面的URL是固定的

动态页面:

  1. URL不是固定的,能通过后台和用户交互
  2. 动态页面的URL当中一般有?问号
  3. 动态页面:PHP,jsp,python node.js
  4. 动态页面可以自动更新
  5. 访问的时间不同,访问的内容会发生变化

http协议:

版本:

http0.9 已淘汰

http1.0:基本淘汰

http1.1:目前最常用的http https http1.1(主要服务于https,端口443,1.1的特点就是提供了加密和安全传输端口的一种http)

http2.0:新一代的加密协议,传输速度比http1.1的速度更快

http协议:超文本传输协议,基于tcp协议的应用层传输协议,简单来说就是客户端和服务端之间(请求和响应)进行数据传输的一种规则

http是应用层上的协议,建立连接:三次握手,断开:四次挥手,建立连接之后,客户端于服务端之间请求和接受,响应都是通过socket接口来调用tcp协议实现

端口到端口的通信

http:是一种无状态协议,http协议不会对发送的请求和响应进行任何处理。就是让http协议能够处理大量的事物,提高效率

http本身无状态,会话保持和缓存的问题

http1.0是没有会话保持这个功能,http1.1,长链接加入到http协议中

http的状态码:

1xx 信息提示100-101 无实际作用

2xx表示请求处理结果成功

3xx重定向,访问网页的时候会跳转304请求的是缓存

4xx客户端错误,403 404 请求的页面不存在或者没有权限访问403表示请求的页面禁止访问,404 表示机器无法请求页面

5xx服务端错误

500 内部服务器错误

解决方法:检查防护墙,检查进程,检查端口,检查配置文件,端口号是否被占了

502 无效网关

503服务不可用,可能下线了

504网关请求超时

生产中常见的状态码:

200 OK 表示请求成功

301 永久重定向

304 表示访问的是本地缓存

403 Forbiden 禁止客户端访问该页面

404 NOT FOUND服务器无法找到被请求的页面

500 internal service error 内部服务器错误

502 BAD getway网关失效 (服务器的网关失效)

503 service Unavailable 服务器不可用(网络维护)

504 GATEWAY timeout 网关请求超时(服务端处于维护或者路由器故障)

缓存:

缓存:cookie记录用户状态,跟踪统计用户访问该网站的习惯,是用户户身份,保存客户信息,可以驻留在我们的计算机上,是一个很小的文件,保存特定的客户端和网站之间的信息数据。

时效性:30天保存的信息就会失效

客户端的ip地址验证:安全验证

传输数据:一旦服务器生成了http服务器响应,会通过之间建立的连接响应返回给客户端

响应当中包含了请求的资源(网页内容)以及其他的需要传输的数据(一般都是自定义)

关闭连接:响应发生完成,服务端发送完成,服务端会进入连接关闭,http1.1 time_wait。双方之间不会再有数据传输,一旦有了新的请求,连接可以继续使用,160秒会话保持或者长链接

http1.1会一次性获取页面的全部资源,然后发起四次挥手,只是不再传输数据,连接并没有断开

客户端解析和现实响应:

客户端收到http响应之后,解析响应内容,包括页面解析,显示图片,播放视频

主要靠的就是浏览器

客户端也可以继续发起请求,或者打开新的连接,请求其他资源

http的请求方式:

分别是get  post

Get方式:

get就是向服务器发起请求数据,依照http协议来进行,本质上get就是请求

请求行:

请求体:

Accept:客户端可以接受的数据类型

Accept-encoding 客户端可以接受的编码格式,以及数据是否需要压缩

Accept-language 客户端可以接受的语言类型

Cache-crontab数据在本地缓存的时间

Connection连接的处理方式,一般都是会话保持

Host表示请求的ip和端口号,也可以表示请求的主机名

User-agent客户端请求使用的浏览器信息

响应头:

响应体:

Post方式:

Post向服务端发送数据,按照http协议进行,服务端添加数据,post的请求方式会修改服务器上的数据

Get和post的区别:

Get的请求可以换组

Get的请求还可以保存在浏览器的cookie中

Get的请求时间长度有限

Get就是获取数据

Post

Post的请求不能被缓存,,也不会保存在浏览器的cookie中

Post请求没有长度限制

请求字符串不会显示,比较安全

两个工具:

Talnet

可以测试指定服务器的端口是否正常

格式:telent  ip 端口号

nc

两个终端建立通信

一主机

二主机

Nginx网站服务:

它是一个高性能,轻量级的web服务软件

高性能:对http并发连接的处理能很高,单台物理服务器可支持30000-50000个并发请求(实际操作中,为了维持服务器的稳定,一般设置在20000个左右)

轻量级:Nginx软件很小,安装所需的空间也很小

稳定性强:

对系统资源消耗低

Nginx的主要功能:

  1. 处理动态内容,处理动态内容较差能力较差,Tomcat或srping
  2. 虚拟主机:Nginx配置多个虚拟主机,每一个虚拟主机都可以作为一个域名和站点,每个虚拟主机都可以拥有独立的配置和资源
  3. 支持URL重定向:可以对URL的请求进行修改和重定向
  4. 缓存机制,可以缓存静态文件和动态文件
  5. 自带日志记录,监控访问日志和报错日志,控制日志还是在/var/log/message中
  6. 也可以作为代理服务器,通过代理可以访问其他的后端服务器

淘宝使用的就是基于Nginx二次开发的,Tenginet天极

编译安装Nginx:

关闭防火墙和安全机制

安装依赖环境

创建运行用户、组

Cat /etc/passwd检查一下

将压缩包拖入/opt目录,解压

编译安装Nginx

接下来

递归目录,把目录的权限都给Nginx

Conf:保存Nginx的所有配置文件,其中Nginx.Conf是Nginx的主配置文件

Html:保存Nginx的web文件,.html结尾的文件,图片

50x:是Nginx默认的报错提示页面

Logs:保存日志的目录,路径可以改

Access.log记录的是访文日志

Error.log记录的是报错日志

Shin:记录的是二进制的启动文本

vim /lib/systemd/system/nginx.service

常见Nginx 命令

-t 检测语法和配置文件是否正确

-v 查看版本

-V查看Nginx版本和支持的配置模块

-s 给Nginx主程序发送信号,不能开启Nginx服务,例如 stop restart  reload

yum安装需要epel源

yum -y install nginx

Nginx的配置文件的内容

全局模块:

hhtp模块:配置代理缓存日志虚拟主机第三方模块

Server块:配置虚拟主机的设备。在http的模块当中可以有多个server

Location块:location模块只能配置在server模块当中,匹配uri.

一个server模块当中可以有多个location. 例如www.baidu.com/test1

Nginx的功能模块:

Proxy:代理功能,核心功能模块之一,配置反向的功能

Proxy_pass指定

定义在location当中.

Headers功能模块:

处理请求和头部的响应信息,获取客户端的真实ip

upstream模块:

七层反向代理模块,只能配置在http模块中,或者stream模块中

Steam:模块

四层反向代理模块,只能写在全局配置当中

限制文件并发打开静态页面数

vim  /etc/security/limits.conf

# 65535 为Linux系统最大打开文件数

* soft nproc 65535  *表示所有的应用

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

reboot

要想生效,必须重启,无法sysctl -p

注意:设置保存后,需要重新ssh连接才会看到配置更改的变化

root指定访问页面的根目录是拼接

/var/www/html/test

Index.html

root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;

Alias也可以指定访问,必须后面跟绝对路径

alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;

实验:

统计Nginx的访问状态

添加一个location

去网页访问:

Active connections:2

表示当前激活连接数

Server accepts

已经处理的连接数

Handled成功的tcp握手次数

Requests已经处理的请求数

Reading :0

服务器正在从客户端读取数据,正在读取客户端请求的连接数

Writing:1

服务器正在将响应数据发送给客户端,正在阿星客户端写入响应的连接数

Waiting:1

表示有连接处于空闲状态,等待客户端请求连接数time_wait

如何配置虚拟主机:

添加第一个虚拟主机:

添加第二个虚拟机主机

创建所需的目录,同时创建内容

域名进行响应,必须要映射,一个ip可以映射多个域名

Vim /etc/hosts

进入火狐浏览器输入域名

基于ip的虚拟主机

基于端口的虚拟主机

基于授权的访问控制:

内部来做访问控制

工具:httpd-tools

基于客户端的访问控制:

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

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

相关文章

ONLYOFFICE 文档 7.5 现已发布:新增 PDF 编辑器、屏幕朗读器等功能

我们已推出最新版的在线编辑器,整个套件具备多项增强功能。敬请继续阅读,了解所有更新。 全新 PDF 编辑器 PDF 是工作中很常见的文件格式。 我们经常需要打开各种PDF格式的宣传册,签署协议和合同等等。 我们一直记得这一点,一直…

NR SRS power control

这篇看下NR SRS power control的相关内容,主要内容集中在38.213 7.3章节,SRS power control与PUSCH很类似,当然细节上也有所不同,这里简单看下。 UL功率控制,主要是PUSCH/PUCCH/SRS/PRACH的传输功率。 对于所有PUSCH/PUCCH/SRS传输…

掌握.NET基础知识(一)

前言 本文将讲解一些.NET基础。NET基础是指在计算机编程中使用.NET框架所需要的基础知识..NET的认识: .NET是由微软开发的一个跨平台的应用程序开发框架。它包括一个运行时环境和一个面向对象的程序库,可以用于开发各种类型的应用程序,包括桌面应用程序、…

计算机操作系统-第十天

目录 1、操作系统的进程 进程的概念 进程的组成------PCB 进程的组成------程序段、数据段 旧知新学:《程序是如何运行的》 进程的特征 本节思维导图 1、操作系统的进程 进程的概念 当我们打开多个qq程序,我们会发现任务管理器的进程中有…

对代码感兴趣 但不擅长数学怎么办——《机器学习图解》来救你

目前,该领域中将理论与实践相结合、通俗易懂的著作较少。机器学习是人工智能的一部分,很多初学者往往把机器学习和深度学习作为人工智能入门的突破口,非科班出身的人士更是如此。当前,国内纵向复合型人才和横向复合型人才奇缺;具有…

C#中使用 ref

下面是一个示例,演示了如何在C#中使用 ref: class Program {static void Main(){int number 10;Console.WriteLine("原始值: " number);ModifyValue(ref number);Console.WriteLine("修改后的值: " number);}static void Modify…

关于罗克韦尔跟西门子PLC之间通讯的解决方案

不同品牌的PLC设备之间通讯一般是通过总线模块,或者直接在PLC内编程实现,这样不仅硬件成本高,而且开发调试的时间都很长,后期维护也相当麻烦。本文采用IGT-DSER智能网关模块,PLC内不用编程,通过PLC现有的以…

如何在 Python 中创建一个虚拟环境,以及为什么需要它

当用 Python 开发软件时,一个基本的方法是在你的机器上安装 Python,通过终端安装所有需要的库,在一个 .py 文件或笔记本中编写所有的代码,并在终端运行你的 Python 程序。 这是很多初学者和很多从使用 Python 进行数据分析过渡的…

【Note】CNN与现代卷积神经网络part4(附PyTorch代码)

文章目录 2.2 残差网络(ResNet)2.2.1 函数类2.2.2 残差块2.2.3 ResNet模型2.2.4 训练模型2.2.5 Summary 本《CNN与现代卷积神经网络》Note系列会共分为4个part,本文为part4。本Markdown共4k字。 2.2 残差网络(ResNet) …

文心一言 4.0 ERNIE-Bot 4.0 :ERNIE-Bot 4.0 大模型深度测试体验报告

本心、输入输出、结果 文章目录 文心一言 4.0 ERNIE-Bot 4.0 :ERNIE-Bot 4.0 大模型深度测试体验报告前言相关跳转文心一言 4.0 ERNIE-Bot 4.0 接口简介Bash 请求示例代码Windows 模式使用 Python 请求如果直接使用官方提供的代码文心一言 4.0 ERNIE-Bot 4.0 API 在…

GEE19:基于Landsat8的常见的植被指数逐年获取

植被指数逐年获取 1. 常见的植被指数1.1 比值植被指数(Ratio vegetation index,RVI)1.2 归一化植被指数(Normalized Difference Vegetation Index,NDVI)1.3 增强植被指数(Enhanced Vegetation I…

nuxt3+ts:集成 百度-爱番番 客服

一、本文目标 nuxt3 ts 集成百度爱番番(客服) 百度爱番番—企业的一站式智能营销管家 二、百度爱番番客服能力 三、爱番番后台基础配置 3.1、设置中心 登录后点右上角设置中心 3.2、沟通与触达 -- > 站点设置 -- > 新建站点 填写信息 3.3、获…

jQuery的使用,下载以及一些小案例

24.jQuery的使用 1.官网地址 https://jquery.com/ 版本: ●1X:兼容E678等低版本浏览器,官网不再更新 ●2x:不兼容IE678等低版本浏览器,官网不再更新 ●3x:不兼容E678等低版本浏览器,是官方主要更新维护的版本 2 jQuery的使用步…

【MySQL】面试题

引言 :MySQL面试题及答案 【最新版】 目录 1、NOW()和CURRENT_DATE()有什么区别?2、CHAR和VARCHAR的区别?3、主键索引与唯一索引的区别4、MySQL中有哪些不同的表格?5、SQL的生命周期…

优化大型机床装配调度:项目管理软件的应用方法

最近,Zoho Projects项目管理软件的一位资深客户,跟我们分享了他是如何把Projects应用于大型机床装配的复杂调度。小Z觉得特别有必要,把各行各业的成功应用和实践经验发布出来。在取得这位资深用户同意后,我们推出了本篇文章&#…

NIO IN:技术蔚来的首次「大阅兵」

宝山,上海第一钢铁厂旧址。 上周,蔚来在这里点亮金色炉台,2500 立方米高炉,浓重的工业气质与古典凝重的光影交织,蔚来 NIO IN 用科技的进步呼应那个火红的年代。 这是蔚来第一次开科技发布会,为了全方位展…

【Leetcode每日一题 2530】「贪心|模拟|优先队列」执行K次操作后的最大分数

2023.10.18 本题重点&#xff1a; 1.优先队列的使用 2.ceil()函数的使用相同的还有floor()函数的使用 题目介绍&#xff1b; 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你的 起始分数 为 0 。 在一步 操作 中&#xff1a; 选出一个满足 0 < i < nums.l…

latex:使用中文字体

解决方案 我这里使用的是gbsn&#xff08;其他的字体我不知道&#xff0c;如果有补充请评价&#xff09;&#xff0c;详细说明如下&#xff1a;

vscode调试container(进行rocksdb调试)+vscode比较git项目不同分支和fork的哪个分支

vscode调试container&#xff08;进行rocksdb调试&#xff09; 参考链接&#xff1a; https://blog.csdn.net/qq_29809823/article/details/128445308#t5 https://blog.csdn.net/qq_29809823/article/details/121978762#t7 使用vscode中的插件dev containners->点击左侧的…

【算法练习Day22】 组合总和组合总和 II分割回文串

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 组合总和组合总和 II分割回…