DNS WEB HTTP

DNS与域名

网络是基于 TCP/IP 协议进行通信和连接的。

每一台主机都有唯一的标识,用于区别在网络上成千上万个用户和计算机。即固定的IP地址(32位二进制数转换成为十进制数——点分十进制)。每一个与网络相连接的计算机和服务器都被指派一个独一无二的地址。

分配 IP 地址网络中的地址方案分为两套:IP地址系统和域名地址系统。这两套地址系统是对应的关系由于 IP 地址是数字标识,IP地址的基础上发展出一种符号化的地址方案,来代替数字型的 IP 地址。

DNS解析方式

  •  /etc/hosts 

在Linux系统中负责快速解析的文件,包含了ip与主机名的映射关系,(IP地址对应一个主机名)如无DNS服务器的情况下,使用本地/etc/hosts完成解析和映射,实现快速访问。

  • /etc/resolv.conf

DNS客户端配置文件,主要用于设置DNS服务器的IP和域名,还包含了主机域名的搜索顺序等,
主要是域名解析服务器使用的配置文件。

  • /etc/sysconfig/network-scripts/ifcfg-ens33

配置网卡文件,可在网卡配置文件中定义DNS1和DNS2的值。

生效顺序: hosts文件   网卡配置文件   /etc/resolv.conf

域名

标识一组主机并提供它们的有关信息的树形结构(主要确定了根在哪,就可以确定每个分支)

域名服务器
① 保持和维护域名空间的程序
② 响应解析器的请求

解析端(客户端)
向DNS服务器发出请求的设备,流程如下:

根域 —— 顶级域 —— 二级域 —— 子域 —— 主机名

域名注册

注册流程如下:

准备申请资料 —— 寻找域名注册网站 —— 查询域名 —— 正式申请 —— 申请成功使用

HTML

HTML概念

HTML超文本标记语言,是一种规范的,标准的语言格式,网页文件本身就是一个文本文件。HTML通过标记的方式,告诉浏览器如何显文本当中的内容。HTML是文本文件,所有能够生成txt文件的工具都可以进行编辑,修改之后的文件后缀名:.html 或者 .htm

网页

  • 网页

纯文本格式文件,编写语言为HTML、在用户的浏览器中被“翻译”成网页形式显示出来

  • 网站

由一个一个页面构成的,是多个网页的结合体

  • 主页

打开网站后出现的第一个网页称为网站主页(或首页)

  • 域名

浏览网页时输入的网址

  • HTTP/HTTPS

用来传输网页的通信协议(是否加密),是一种通讯/交互的标准/规范

  • URL

是一种万维网寻址系统(唯一标识性)

  • HTML 

用来编写网页的超文本标记语言

  • 超链接

超链接是将网站中不同网页链接起来的功能

  • 发布

将制作好的网页上传到服务器供用户访问的过程

Web

Web(World Wide Web)即全球广域网,也称为万维网一种分布式图形信息系统,建立在Internet上的一种网络服务。

Web1.0

以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容
这个过程是网站到用户的单向行为

Web2.0

更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者
加强了网站与用户之间的互动。

静态页面

  • 静态网页是标准的HTML文件
  • 扩展名是.htm、.html
    例如:文本、图像、声音、Flash动画、客户端脚本和ActiveX控件及Java小程序等
  • 是网站建设的基础,早期网站一般都由静态网页制作
  • 没有后台数据库、不含程序和不可交互的网页
  • 相对更新起来比较麻烦,适用于一般更新较少的展示型网站

静态页面特点

  • 每个静态网页都有一个固定的URL,以 .htm  .htm 等常见形式为后缀,而不含有“?”
  • 每个静态网页都是保存在网站服务器上的
  • 静态网页的内容相对稳定,容易被搜索引擎检索
  • 静态网页没有数据库的支持,制作和维护方面工作量较大,单纯使用静态困难较大
  • 页面浏览速度迅速,过程无需连接数据库
  • 无交互性,只能看功能受限

动态页面

  • 网页URL不固定,用户可以和后台数据互动 交互
  • 在动态网页网址中,会包含特殊标记
  • 常用的语言有PHP、JSP、Python、Ruby等

动态页面特点

  • 交互
  • 自动更新
  • 特效

HTTP协议

HTTP超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,它是基于TCP协议的应用层传输协议,面向客户端和服务端进行数据传输的一种规则。

HTTP是一种无状态 (stateless) 协议
HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理。
这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。

工作流程

  1. 客户端和服务端进行tcp连接。
    三次握手 —— 建立连接
  2. 客户端发送http请求,服务端接受到http请求之后,响应客户端的请求
  3. socket接口,通过端口进行通信
  4. 响应达到客户端,解析的过程(浏览器),用户查看,使用,访问。
  5. 访问,使用,查看,结束之后,断开连接
    四次挥手 —— 断开连接

Cookie

记录用户的登录状态,跟踪统计用户访问网站的习惯,识别用户的身份、保存用户数据。这个是服务器在用户计算机上的小文件。

HTTP 1.1

自带链接保持功能,长连接

https:加密通信协议,加密数据传输。加密过程涉及客户端和服务器之间进行密钥交换,确保只有合法的接受方,能够解密数据
证书:https使用数字证书验证身份
https:电子商务,银行网站;加密解密会对访问速度有一定影响。

长连接

一次性获取页面文件的所有信信息,无需再分开处理请求,这样速度大大加快。

连接保持

Keep - Alive 可传送多个HTTP请求和响应。减少了建立和关闭所消耗的延迟,连接保持的有效时长,默认为60秒。

连接资源占用

长时间保存,会降低服务器负载;如提高并发会使服务器耗尽资源

连接状态管理

长连接需要维护连接状态,服务器要跟踪每个连接状态,从而增加负担(因此就有了集群)

HTTP请求方式

请求头(Request Headers)包含请求体:

  • Accept:客户端可以接受的数据类型
  • Accept-Language:客户端可以接受的语言类型
  • User-Agent:浏览器的信息
  • Accpect-Encoding:客户端可以接受的编码格式
  • Host:表示请求的ip和端口号
  • Connection:告诉服务器请求连接如何处理
  • Cache-Control:缓存时间 图片或音频文件的缓存时间
  • Keep-Alive:通知服务器回传数据不要马上关闭,保持一小段的连接
  • Closed:马上关闭

get请求方法

  • 从指定服务器获取数据
  • get请求可以被缓存
  • get请求会保存在浏览器记录中 Cookie
  • get请求长度有限制

post请求方法

  • post请求不能被缓存
  • post请求不会记录在浏览器记录中
  • 请求体长度无限制

状态码 —— 服务器提供      *面

请求之后,服务器会收到请求,有响应同时反馈一个码;接下来介绍响应码类型:

100 - 101信息提示
200 - 206成功请求响应
300 - 305重定向表示
400 - 415客户端错误(请求失败)
500 - 505服务端错误(响应失败)

常用代码

200代表成功 “OK”
301请求的永久页面跳转
304请求到缓存
403

禁止访问

404请求的页面找不到
500服务器内部的错误(配置配错了)
503服务不可用
504网关请求超时

通信套接字  Socket

实现不同主机进行通信和数据交换,进程间传输标准:IP端口

HTTP协议中Socket作用:

  • 客户机套接字地址定义了一个唯一的客户进程
  • 服务器套接字地址定义了一个唯一的服务器进程

套接字相关的系统调用:

  • socket()  创建一个套接字
  • bind()    绑定IP和端口
  • listen()  监听
  • accept()  接收请求
  • connect() 请求连接建立
  • write()   发送
  • read()    接收
  • close()   关闭连接
  • ESTABLISHED:连接已经建立,正在传输数据

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

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

相关文章

list模拟

之前模拟了string,vector,再到现在的list,list的迭代器封装最让我影响深刻。本次模拟的list是双向带头节点的循环链表,该结构虽然看起来比较复杂,但是却非常有利于我们做删除节点的操作,结构图如下。 由于其节点结构特…

【《C# 10 和 .NET 6入门与跨平台开发(第6版)》——一本循序渐进的C#指南】

这个新版本对上一版做了全面修订,涵盖C# 10和.NET 6的所有新功能. 本书讨论面向对象编程、编写函数、测试函数、调试函数、实现接口以及继承类等主题;介绍.NET API,这些API可执行多种任务,如管理和查询数据,监视和改进…

解决mysqld服务启动失败

原因如下: 1、进程占用 首先查看下mysql进程: ps -aux | grep mysql有进程号占用了,kill 这个进程号 再重启服务 2、所有者和所属组为mysql 查看/usr/local/MySQL/data/mysqld.pid所有者和所属组是否为mysql 原来是权限有问题&#xff0c…

保留网络:大型语言模型的Transformer继任者

原文信息 原文题目:《Retentive Network: A Successor to Transformer for Large Language Models》 原文引用:Sun Y, Dong L, Huang S, et al. Retentive Network: A Successor to Transformer for Large Language Models[J]. arXiv preprint arXiv:2…

论文阅读 - Few-shot Network Anomaly Detection via Cross-network Meta-learning

论文链接:https://arxiv.org/pdf/2102.11165.pdf 目录 摘要: 引言 问题定义 方法 Graph Deviation Networks Cross-network Meta-learning 摘要: 网络异常检测旨在找到与绝大多数行为显着不同的网络元素(例如节点、边、子图…

【BASH】回顾与知识点梳理(二)

【BASH】回顾与知识点梳理 二 二. Shell 的变量功能2.1 什么是变量?2.2 变量的取用与设定: echo, 变量设定规则: set/unset2.3 环境变量的功能用 set 观察所有变量 (含环境变量与自定义变量)export: 自定义变量转成环境变量那如何将环境变量转成自定义变…

Tomcat 创建https

打开CMD,按下列输入 keytool -genkeypair -alias www.bo.org -keyalg RSA -keystore d:\ambition.keystore -storetype pkcs12 输入密钥库口令:123456 再次输入新口令:123456 您的名字与姓氏是什么? [Unknown]: www.ambition.com 您的组织单位名称是什么? [Unknown…

PostgreSQL Patroni_exporter 监控 patroni高可用工具

Patroni是Cybertec公司基于python语言开发的,可用于使用流复制来创建,管理,维护和监视高可用性PostgreSQL集群设置的工具。 目前,PatroniEtcd 是最为推荐的PostgreSQL数据库高可用方案之一。 PostgreSQL有postgres_exporter监控采…

ssl单向证书和双向证书校验测试及搭建流程

零、前提准备 说明: 50.50.1.118作为服务端,系统是 linux,openssl版本是:OpenSSL 1.1.1f 31 Mar 2020。 50.50.1.116是客户端,系统是Windows,openssl版本是:OpenSSL 3.0.5 5 Jul 2022 (Library…

BES 平台 SDK之LED的配置

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用! BES 平台 SDK之代码架构讲解二_谢文浩的博客-CSDN博客 关于SDK 系统框架简介可参考上一篇文章。链接如上所示&#xff01…

CSS font-family 等宽字体

CSS font-family 等宽字体 font-family: "Lucida Console", Consolas, "Courier New", Courier, monospace; font-family: Courier New, Courier, Lucida Console, Consolas, monospace; font-family: Courier, Lucida Console, Consolas, Courier New,…

JavaWeb(8)——前端综合案例2(节流和防抖)

目录 一、节流和防抖概念 二、实例演示 三、需要注意的 一、节流和防抖概念 二、实例演示 Lodash 简介 | Lodash中文文档 | Lodash中文网 (lodashjs.com) <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><m…

【Redis】内存数据库Redis进阶(搭建各种集群)

目录 单机安装Redis搭建Redis主从集群搭建Redis哨兵集群 基于 CentOS 7 的 Redis 集群 单机安装Redis 安装 Redis 所需要的依赖&#xff1a; yum install -y gcc tcl将 Redis 安装包&#xff08;redis-6.2.4.tar.gz&#xff09;上传到任意目录 解压缩&#xff1a; tar -xzf …

Java NIO 详解

Java 从1.4开始引入NIO&#xff08;New IO&#xff09;&#xff0c;是一种基于块&#xff08;Block&#xff09;的IO机制&#xff0c;也称为非阻塞IO。相比于传统的Java IO&#xff08;IO流&#xff09;方式&#xff0c;Java NIO提供了更快速、高效、灵活的IO操作。 Java NIO的…

Aduino中eps环境搭建

这里只记录Arduino2.0以后版本&#xff1a;如果有外网环境&#xff0c;那么可以轻松搜到ESP32开发板环境并安装&#xff0c;如果没有&#xff0c;那就见下面操作&#xff1a; 进入首选项&#xff0c;将esp8266的国内镜像地址填入&#xff0c;然后保存&#xff0c;在开发板中查…

代码随想录算法训练营第二十九天 | Leetcode随机抽题检测

Leetcode随机抽题检测 160 相交链表未看解答自己编写的青春版重点题解的代码206 反转链表 一段用于复制的标题未看解答自己编写的青春版重点题解的代码日后再次复习重新写 234 回文链表未看解答自己编写的青春版重点综上&#xff0c;利用快慢指针找寻链表中间&#xff0c;就按加…

牛客网Verilog刷题——VL51

牛客网Verilog刷题——VL51 题目答案 题目 请编写一个十六进制计数器模块&#xff0c;计数器输出信号递增每次到达0&#xff0c;给出指示信号zero&#xff0c;当置位信号set 有效时&#xff0c;将当前输出置为输入的数值set_num。模块的接口信号图如下&#xff1a; 模块的时序图…

JVM基础篇-方法区与运行时常量池

JVM基础篇-方法区与运行时常量池 方法区 Java 虚拟机有一个在所有 Java 虚拟机线程之间共享的方法区。方法区类似于传统语言的编译代码的存储区或者类似于操作系统进程中的“文本”段。它存储每个类的结构&#xff0c;例如运行时常量池、字段和方法数据&#xff0c;以及方法和…

Hadoop 集群如何升级?

前言 本文隶属于专栏《大数据技术体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见大数据技术体系 正文 升级 Hadoop 集群需要细致的规划&#xff0c;特…

使用docker部署Wordpress

文章目录 1.创建网络2.创建volume存储3.拉取镜像4.创建mysql容器mysql修改密码 5.创建wordpress容器6.访问localhost:80就可以直接使用啦 1.创建网络 docker network create --subnet172.18.0.0/24 pro-net2.创建volume存储 # mysql 存储 docker volume create volume_mysql…