Web与HTTP

目录

DNS与域名

DNS解析的方式

过程

注册域名

html

名词解释

html的语法

web

web2.0

静态页面特点

动态页面

动态页面特点

http协议

工作流程

http的请求方式

get

post

状态码

常用状态码

通信套接字

套接字调用的端口


DNS与域名

网络是基于tcp/ip协议进行通信和连接的
应用层--传输层--网络层--数据链路层--物理层
ip地址是每台主机都有一个唯一的地址标识(固定的IP地址),用于区分用户和计算机,进行通信。
IP地址都是由32位二进制数组成的,不方便记忆,所以就衍生出域名
DNS解析就是把域名解析成ip地址,方便通信。

DNS解析的方式

1./etc/hosts
负责快速解析的文件,包含了ip与主机名之间的映射关系。如果没有DNS服务器的情况下,可以使用/etc/hosts文件来完成解析和映射。
2./etc/resolv.conf
DNS客户端的配置文件,设置DNS服务器的ip和域名。还包含了主机域名的搜索顺序。主要是域名解析服务器使用的配置文件。
3.修改网卡配置文件
ifcfg-ens33
生效顺序:1.hosts 2.网卡配置文件 3.resolv.conf

过程

DNS域名解析服务器由运营商来做。
域名解析服务器
1.保持和维护域名空间。
2.响应解析请求

解析端(客户端)
根域------顶级域------二级域------子域------主机名

注册域名

1.准备材料
2.域名注册网站注册、申请
3.正式使用

html

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

名词解释

网页
纯文本格式的文件,用html语言进行编写的。用浏览器翻译成页面的形式显示出来

网站

是由多个页面组成的,网页的结合体。主页:打开网站的之后出现的第一个页面就是网站的主页域名 浏览网页时输入的网址

http/https
用来传输页面的通信协议,https是加密的,都是一种基于tcp协议的通信协议,http默认端口为80,https默认端口为443

URL
万维网寻址系统,唯一标识
https://www.bilibili.com/完整的格式,是url
uri
https://www.bilibili.com/v/dance/?spm id from=333.1007.0.0
从/v/开始就是uri

超链接
超链接将网站中的不同页面连接起来
发布
将制作好的网页上传到服务器,供用户访问

html的语法

<head> 网页的内容描述</head>
<body>网页的内容</body>
</html>头标签中常用的标签
<title> 定义了文档的标题
<base> 定义了页面链接标签的默认链接地址
<link> 定义了一个文档和外部资源之间的关系
<meta> 定义了 HTML 文档中的元数据
<script> 定义了客户端的脚本文件
<style> 定义了 HTML 文档的样式文件内容中常用的标签
<table>  定义表格
<tr>    定义表格中的一行
<td>  定义表格当中某一行的一列
<img> 定义图片
<a>  超链接
<font> 定义字体

web

web2.0

注重用户交互,有了静态页面和动态页面
静态页面就是标准的html文件,扩展名都是.htm和.html,里面可以包含图片、文本、声音、动画。
是网站建设的基础,早期的网站都是静态页面,没有后台数据,不包含可交互的内容
更新起来比较麻烦,一般用与展示型网站

web3.0 交互、场景融合

静态页面特点

1.静态页面的URL是固定的,一般不包含?
2.页面一经发布,都是保存在网站的服务器上的
3.静态页面相对稳定,内容很少发生变化,容易被搜索引擎检索
4.没有数据库的支持,制作和维护的工作量比较大。网站的信息量如果太大,单纯使用静态页面比较困难
5.没有交互性,功能上受限很大
6.浏览速度很快,不需要连接数据库

动态页面

1.网页的url是不固定的,用户可以和后台数据进行交互
2.动态页面的网址中一般会包含特殊标记?
3.动态页面的语言: PHP JSP PYTHON RUBY TOMCAT

动态页面特点

1.交互性
2.自动更新
3.特效,每个人进入页面时,会有不同的效果

http协议

http协议,超文本传输协议,是互联网上应用最广泛的网络协议之一。是基于tcp协议的应用层传输协议。面向用户,是客户端和服务端进行数据传输的一种规则

http是一种无状态的协议,本身不会对发送过的请求和响应的通信进行持久化处理(不会进行连接保持)。为了让http能够快速的大量的进行处理事务,提高效率
cookie 记录用户的登陆状态,跟踪统计用户访问网站的习惯,识别用户身份,保存用户信息

http1.1版本的http协议本身自带的连接保持功能,也叫做长连接
长连接:一次性获取页面文件的所有信息,不再需要分开处理请求。所以速度大大加快。
连接保持 keep-alive,在一个tcp连接上可以传送多个http的请求和响应,减少了建立和关闭连接的消耗和延迟,连接保持是有时间的,不是无限的,默认为60秒

连接资源占用 
长时间的保持会降低服务器的负载,如果是高并发,会使服务器耗尽资源
连接状态管理 
长连接需要维护连接状态。服务器需要跟踪每个连接的状态,增加服务器的负担。(集群的诞生)

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

工作流程

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

http的请求方式

请求头
请求头当中包含请求体

请求体当中的内容
Accept 客户端可以接收的内容
Accept-Encoding 客户端可以接收的编码格式
Accept-Language 客户端支持的语言类型
Cache-Control 缓存时间,图片或者音频文件的缓存文件。指的是保留在本地的时间,下一次再访问图片,不需要再去服务端发起请求了,提高访问速度
Connection 告诉服务器处理请求连接。一般默认都是keep-alive,连接保持。

get

 http当中get就是用来向服务器发起请求
1.从指定服务器获取数据
2.get请求可以被缓存
3.get请求会保存在浏览器的记录在,cookie
4.get请求的长度是有限制的

post

post也是请求的一种,post是向后台发数据,服务器会添加数据,也可以改变服务器上的数据。
1.提交数据给服务器处理
2.post请求不能缓存
3.post请求也不会记录在浏览器的记录当中
4.请求体的长度也没有限制

状态码

状态码(响应码),由服务器进行提供。请求之后,服务器收到请求,会有一个响应,同时会反馈一个响应码

请求状态的响应码
1xx 100-101 信息提示
2xx 200-206 成功
3xx 300-305 重定向
4xx 400-415 客户端错误 请求失败
5xx 500-505 服务端错误 响应失败

常用状态码

200 成功
301 请求的永久页面跳转
304 重定向到缓存
403 禁止访问
404 请求页面找不到
500 服务器内部错误
502 网关失效
503 服务不可用
504 网关请求超时

通信套接字

socket 
实现不同主机进行通信和数据交换
进程键传输的标志 ip:端口

http协议当中socket的作用
1.客户机套接字定义了唯一的客户进程
2.服务端套接字定了义唯一的服务器进程

套接字调用的端口

socket  创建端口
bind 绑定ip和端口
listen 监听,等待链接
accept 接收请求
connect 请求连接建立
write 发送
read 接收
ESTABLISHED 连接已经建立,正在传输数据
close 关闭连接
 

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

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

相关文章

java中的字符流

使用字节流读取中文的时候&#xff0c;如果使用的编码是GBK&#xff0c;则占用2个字节&#xff1b;如果使用UTF-8编码&#xff0c;则占用3个字节&#xff0c;意味着我们读取中文文档的时候如果每次读取1个字节&#xff0c;那么输出的将会是乱码&#xff0c;因为是不完整的中文。…

面试攻略,Java 基础面试 100 问(六)

JAVA 泛型 泛型提供了编译时类型安全检测机制&#xff0c;该机制允许程序员在编译时检测到非法的类型。泛型的本 质是参数化类型&#xff0c;也就是说所操作的数据类型被指定为一个参数。比如我们要写一个排序方法&#xff0c; 能够对整型数组、字符串数组甚至其他任何类型的…

nohup Java -jar 生成的nohup.out 文件一直增加,如何处理

目录 1 实现 1 实现 除了使用echo "" > filename清空文件内容之外&#xff0c;还有其他几种方法可以删除文件中的内容而不删除文件本身&#xff1a;使用truncate命令&#xff1a;truncate命令可以用来截断文件并清空内容。使用以下命令清空文件内容&#xff1a;t…

程序的编译和调试

gcc编译器 gcc(GNU Compiler Collection)是GNU推出的多平台编译器&#xff0c;可将C、C源程序编译连接成可执行文件&#xff0c;支持以下后缀&#xff1a; .c c语言源代码 .h 程序所包含的头文件 .i 已经预处理过的C源代码文件 .s 汇编语言源代码文件 .o 编译后的目标文件…

解决SVN或GIT忽略提交文件的问题

背景 使用IDEA 的SVN插件提交文件是总是会提交一些不需要提交的文件; 我们可以通过一些简单设置忽略这些文件。 git 在项目根目录新建文本文件&#xff0c;修改后缀为.gitignore 文件中添加内容 *.iml .project .gradle/ .idea/ target/ build/ .vscode/ .settings/ .facto…

冒泡排序(c++题解)

题目描述 将读入的 N 个数从小到大排序后输出。 输入格式 第一行为一个正整数 NN。 第二行包含 N 个空格隔开的正整数 ai​&#xff0c;为你需要进行排序的数。 输出格式 将给定的 N 个数从小到大输出&#xff0c;数之间空格隔开&#xff0c;行末换行且无空格。 输入输出…

Elasticsearch:语义搜索 - Semantic Search in python

当 OpenAI 于 2022 年 11 月发布 ChatGPT 时&#xff0c;引发了人们对人工智能和机器学习的新一波兴趣。 尽管必要的技术创新已经出现了近十年&#xff0c;而且基本原理的历史甚至更早&#xff0c;但这种巨大的转变引发了各种发展的“寒武纪大爆炸”&#xff0c;特别是在大型语…

【html】学习记录

1.在建立一个页面的时候不是打开软件就开始写代码&#xff0c;要先规划好页面的布局框架&#xff0c;不然思想会很混乱&#xff0c;如做个人简历&#xff0c;要分区分块&#xff0c;把每个区域的内容搞清楚。 2.html的很多标签看上去作用都是一样的&#xff0c;但是实际有很大不…

SAP数据库表维护视图生成器的使用

在SAP中&#xff0c;经常需要自定义数据库表。而且可能需要人工维护数据库表中的数据&#xff0c;可以通过SM30进行维护数据&#xff1b;但是SM30事务的权限太大&#xff0c;不适宜将SM30直接分配&#xff1b;因此&#xff0c;可以通过给维护表分配事务代码&#xff0c;来达到控…

无涯教程-Perl - 环境配置

在开始编写Perl程序之前&#xff0c;让我们了解如何设置我们的Perl环境。 您的系统更有可能安装了perl。只需尝试在$提示符下给出以下命令- $perl -v 如果您的计算机上安装了perl&#xff0c;那么您将收到以下消息: This is perl 5, version 16, subversion 2 (v5.16.2) b…

MySQL数据库——DQL操作——基本查询

文章目录 前言事前准备——测试数据整表查询指定列查找别名查询MySQL运算符条件查询模糊查询排序查询聚合查询分组查询分组之后的条件筛选 分页查询将整张表的数据插入到另一张表中 前言 MySQL数据库常见的操作是增删查改&#xff0c;而其中数据的查询是使用最多&#xff0c;也…

同构多核架构(SMP)和异构多核架构(AMP)

同构多核架构&#xff08;SMP&#xff09;和异构多核架构&#xff08;AMP&#xff09;主要在两个角度上有区别&#xff1a; 处理器架构&#xff1a;在同构多核架构中&#xff0c;系统中的处理器在架构上是相同的&#xff0c;而异构多核架构则包含不同架构的处理器。运行模式&a…

Modbus TCP转Profinet网关modbus tcp转以太网

大家好&#xff0c;今天我们来聊一聊如何使用捷米特的Profinet转modbusTCP协议转换网关在博图上进行非透传型配置。 1, 首先&#xff0c;我们需要安装捷米特JM-TCP-PN的GSD文件&#xff0c;并根据现场设备情况配置modbusTCP地址。然后&#xff0c;在博图中添加该GSD文件&#x…

Redisson提供优秀的并发控制机制

1. JDK集合类 对于JDK的集合类&#xff0c;forEach方法其实并不能完全避免并发修改异常。 forEach本质上还是一个循环遍历&#xff0c;如果在循环体内直接对集合进行修改&#xff0c;仍然会产生ConcurrentModificationException。 例如&#xff1a; List<String> lis…

了解垃圾回收算法

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ 垃圾回收&#xff08;Garbage Collect&#xff09;是Java语言中的一种自动内存管理机制&#xff0c;用于自动回收不再使用的对象所占用的内存空间。Java虚拟机会自动追踪和…

算法39:Excel 表列序号

一、需求 给你一个字符串 columnTitle &#xff0c;表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如&#xff1a; A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 … 示例 1&#xff1a; 输入: columnTitle “A” 输出: 1 示例 2&…

Jenkins安装、配置、自动化构建前(nodejs)后端(maven)项目

文章目录 0、Jenkins卸载安装1、Jenkins配置2、后台启动脚本startup.sh3、后台关闭脚本stop.sh4、实时数据启动脚本startup.sh5、实时数据关闭脚本stop.sh6、jenkins制定完任务后&#xff0c;点击立即构建&#xff0c;控制台报错&#xff08;...无法生成父级目录&#xff09;7、…

uC-OS2 V2.93 STM32L476 移植:系统启动篇

前言 前两篇已经 通过 STM32CubeMX 搭建了 NUCLEO-L476RG 的 STM32L476RG 的 裸机工程&#xff0c;下载了 uC-OS2 V2.93 的源码&#xff0c;并把 uC-OS2 的源文件加入 Keil MDK5 工程 本篇适配 uC-OS2 的 系统定时器&#xff08;Systick&#xff09;与 PendSV_Handler&#xf…

python elasticsearch update by query

创建索引以及添加数据 PUT test {"mappings": {"properties": {"test":{"type": "nested"}} }}GET test/_mappingPUT test/_doc/1 {"test":{"name":"ellis","age":100} }elastics…

leetcode 763. 划分字母区间

2023.8.3 本题的关键是要确保同一字母需要在同一片段中&#xff0c;而这就需要关注到每个字母最后一次出现的位置。 思路&#xff1a;用一个哈希表保存每个字母&#xff08;26个&#xff09;最后一次出现的位置。然后从头遍历&#xff0c;不断更新最右边界&#xff0c;直到当前…