二阶段web基础与http协议

dns与域名

网络是基于tcp/ip协议进行通信和连接的

应用层-----传输层-----网络层-----数据链路层-----物理层

ip地址,每一台主机都有一个唯一的地址标识(固定的ip地址)

1.区分用户和计算机

2.通信

ip地址的问题在于32位二进制数组成的,不方便记忆

                     192.168.233.61 点分十进制

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.响应解析请求

解析端(客户端)

跟域-----顶级域-----二级域-----子域----主机名

html:超文本标记语言,是一种规范的,标准的语言格式

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

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

网站:是由多个页面组成的,网页的结合体

主页:打开网站后,出现的第一个页面,就是网站的主页,也可以说是首页

域名:浏览网页时,输入的网址

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

URL:万维网寻址系统,唯一的表示

超链接:超链接将网站中的不同页面连接起来

发布:将制作好的网页上传到服务器,供用户访问

html的语法

<html> 

    <head>网页的内容描述信息</head> 

    <body>网页的具体内容</body>

</html>

头标前中常用的标签

<title>文档标题

<base>页面标签的链接地址

<script>客户端的脚本文件

<style>html文档的样式

内容当中常用的标签

<table>定义表格

<tr>定义表格中的一行

<td>定义表格中某一行的一列

<img>定义图片

<a>超链接

<font>定义字体

web.1.0 静态页面就是看   web.2.0 动态页面用户交互

静态页面和动态页面

静态页面就是标准的html文件

扩展名都是.htm .html

里面可以包含图片,文本,声音动画;是网站搭建的基础,早期的网站都是静态页面,没有后台数据,不包含可交互的内容,更新起来比较麻烦,一般用于展示型网站

静态页面的特点

1.URL是固定的,一般不包含以?为后缀

2.页面一经发布,都是保存在网站的服务器上

3.静态页面相对稳定,内容很少发生变化,容易被搜索引擎检索

4.没有数据库的支持,制作和维护的工作量,都比较大,网站的信息量如果太大,单纯的使用静态页面比较困难

5.没有交互性,功能上受限很大

6.浏览速度快,因为不需要连接数据库

动态页面

1.网页URL是不固定的,用户可以和后台数据进行交互

2.动态页面的网址中,一般包含一个特殊标记-----$?

3.动态页面的语言:php jsp python buby tomcat(java)

动态页面的特点

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

http协议:

httpd 程序名 apache 服务名

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

工作流程:

1.客户端和服务端进行tcp链接 :三次握手----建立连接

2.客户端发送http请求,服务端接收到http请求之后,响应客户端的请求

3.socke 接口,通过端口进行通信

4.响应到达客户端,解析的过程(浏览器),用户查看,使用,访问

5.访问,使用,查看,结束之后,断开连接,四次挥手

http是一种无状态的协议,本身不会对发送的请求和响应的通信进行持久化处理(连接保持),为了让http能够快速的大量的进行处理事务,提高效率

链接保持是需要的

cookie:记录用户的登陆状态,跟踪统计用户访问网站的习惯,识别用户身份,保存用户信息

这个是服务器留在用户计算机的小文件

http协议本身自带的连接保持功能

http1.1:自带链接保持功能,长连接

长连接:一次性获取页面的文件的所有信息,不再需要分开处理请求,所以速度大大加快,并行

连接保持:keep-alive,在一个tcp连接上可以传送多个http的请求和响应,减少了建立和关闭连接的消耗和延迟,连接保持是有时间,不是无限的,是默认开启的,60s

连接资源占用:长时间保持,会降低服务器的负载,如果是高并发,会使服务器耗尽资源

链接状态管理:长连接需要维护连接状态,服务器需要跟踪每个连接的状态,增加服务器的负担(集群的诞生)

http加密通信协议,加密数据传输,加密过程涉及客户端和服务器之间进行密钥交换,确保只有合法的接收方,能够解密数据

证书:https使用数字验证身份

https:电子商务,银行网站

加密解密会对访问速度有一定的影响

http的请求方式:

1.请求头

请求头当中包含请求体

请求体当中的内容

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

请求方式:get 就是用来向服务器发起请求,http协议中的get,就是请求

2.响应头

3.总览 General

post也是请求的一种,post是向后台发数据,向服务器会添加数据,也可以改变服务器上的数据

get方法:

1.从指定服务器获取数据

2.get请求是可以被缓存

3.get请求会保存在浏览器上的记录中,cookie

4.get请求的长度,是有限度的

post:也是请求的一种,提交数据给服务器处理

1.post请求不能缓存

2.post请求也不会记录在浏览器的记录当中

3.请求体的长度也没有限制

状态码,响应码,服务器来进行提供的

请求之后,服务器收到请求会有一个回应,响应,同时反馈一个响应码

请求状态的响应码:

1..:100-101 信息提示

2..:200-206 成功,请求响应成功,只要状态码是200,统统是成功

3..:300-305 重定向

4..:400-415 客户端错误,请求不到,获取资源失败

5..: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 () 接收 

close 关闭连接

ESTABLISHED 连接已经建立,正在传输数据

nc 工具模拟实验

需要关防火墙 安全机制

自定义一个端口

 

ip地址是创建555端口的ip地址

 

 

 

 

 

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

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

相关文章

【安装vue脚手架报错:npm install -g @vue-cli pm ERR! code EINVALIDTAGNAME 】

当我们执行npm install -g vue-cli时候会报错&#xff1a; npm ERR! Invalid tag name “vue-cli” of package “vue-cli”: Tags may not have any characters that encodeURIComponent encodes. npm ERR! A complete log of this run can be found in: /Users/wuwenlu/.npm/…

Centos虚拟机修改密码

1.重启系统 2.在这个选择界面&#xff0c;按e 3.找到如下位置&#xff0c;插入init/bin/sh 4.填写完成后按Ctrlx引导启动 5.输入mount -o remount, rw / (注意空格) 6.重置密码 出现以下为重置成功 7.执行touch /.autorelabel 8.退出exec /sbin/init 9.输入你的新密码…

React入门学习笔记1

前言 React是一个用来动态构0建用户界面的JavaScript库&#xff08;只关注于视图&#xff09;。它可以帮助开发人员轻松地创建复杂的交互式界面&#xff0c;以及管理与用户交互的状态。相比于其他的JavaScript框架&#xff0c;React采用了一种不同的编程模型&#xff0c;称为“…

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

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

《向量数据库指南》——当前向量数据库的赛道有哪些?

当前&#xff0c;向量数据库赛道主要分为四个类别&#xff1a; 基于PG、Clickhouse 等进行魔改或者插件化实现的向量数据库&#xff1a;这类解决方案以现有的关系数据库或列存数据库作为基础&#xff0c;通过修改或插件扩展的方式添加向量搜索功能。PG Vector 是这类解决方案的…

【设计模式——学习笔记】23种设计模式——外观模式Facade(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入介绍基本介绍类图出场角色 案例实现案例一类图代码实现 案例二类图代码实现 外观模式在Mybatis源码中的应用总结文章说明 案例引入 在家庭影院中&#xff0c;要享受一场电影&#xff0c;需要如下步骤&#xff1a; 直接用遥控器&#xff1a;统筹各设备开关开…

Linux - 进程控制(进程替换)

0.引入 创建子进程的目的是什么&#xff1f; 就是为了让子进程帮我执行特定的任务 让子进程执行父进程的一部分代码 如果子进程想执行一个全新的程序代码呢&#xff1f; 那么就要使用 进程的程序替换 为什么要有程序替换&#xff1f; 也就是说子进程想执行一个全新的程序代码&a…

FSM:Full Surround Monodepth from Multiple Cameras

参考代码&#xff1a;None 介绍 深度估计任务作为基础环境感知任务&#xff0c;在基础上构建的3D感知才能更加准确&#xff0c;并且泛化能力更强。单目的自监督深度估计已经有MonoDepth、ManyDepth这些经典深度估计模型了&#xff0c;而这篇文章是对多目自监督深度估计进行探…

three.js实现vr全景图

方法: 可以利用Threejs中的立方体或者球体实现全景图功能&#xff0c;把立方体或球体当成天空盒子&#xff0c;将无缝衔接的图片贴上&#xff0c;看起来就像在一个场景中&#xff0c;相机一般放置在中央。 three.js中文网 1、立方体实现 立方体6个面要贴上6个方向的图片&…

Pytorch深度学习-----神经网络之非线性激活的使用(ReLu、Sigmoid)

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用&#xff08;ToTensor&#xff0c;Normalize&#xff0c;Resize &#xff0c;Co…

html:去除input/textarea标签的拼写检查

默认情况下&#xff0c;textarea 会启动拼写和语法检查&#xff0c;表现效果就是单词拼写错误会出现红色下划线提示 <textarea></textarea>效果 有时&#xff0c;我们并不需要拼写检查&#xff0c;可以通过配置属性spellcheck"false" 去除拼写和语法检…

物联网远程智能控制设备——开关量/正反转百分比控制

如今生产生活的便利性极大程度上得益于控制技术的发展&#xff0c;它改变了传统的工作模式&#xff0c;并将人们从【纯劳力】中解放出来。如今&#xff0c;随着科学技术的进步&#xff0c;控制器的种类及应用领域也越来越多。 物联网远程智能控制设备就是一种新型的、能够用于…

抄写Linux源码(Day2:构建调试环境)

我们计划把操作系统运行在 qemu-system-x86_64 上&#xff0c;使用 gdb 调试 经过 RTFM&#xff0c;可以使用 qemu-system-x86_64 -s -S 让 qemu 在启动之后停住 接着在另一个窗口运行 gdb&#xff0c;输入命令 target remote localhost:1234&#xff0c;即可连接qemu并调试运…

泛微oa 二次开发指南(ecology)

目录标题 一、环境搭建&#xff08;一&#xff09;先下载安装泛微oa&#xff08;ecology&#xff09;&#xff08;二&#xff09;idea环境搭建二、官方文档三、开发规范&#xff08;里面有入门案例&#xff09;四、三方系统调用oa系统接口五、oa系统所有接口文档六、ecology的一…

mysql事务日志

事务有4中特性&#xff1a;原子性&#xff0c;一致性&#xff0c;隔离性和持久性。那么事务的四种特性到底是基于什么机制实现的呢&#xff1f; 1. 事务的隔离性由 锁机制 实现。 2. 而事务的原子性&#xff0c;一致性和持久性由事务的redo日志和undo日志来保证的。 ~ redo l…

2023-07-30 LeetCode每日一题(环形链表 II)

2023-07-30每日一题 一、题目编号 142. 环形链表 II二、题目链接 点击跳转到题目位置 三、题目描述 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 n…

HTTP协议 和 HTTPS协议的区别(4点) HTTPS的缺点 HTTP如何使用SSL/TLS协议加密过程 CA证书干啥的

&#xff08;一&#xff09;HTTP协议 和 HTTPS协议的区别&#xff08;4点&#xff09;&#xff1a; 1. HTTP协议的端口号是80&#xff0c; HTTPS协议的端口号是443 2. HTTP协议使用的URL是以 http:// 开头&#xff0c;HTTPS协议使用的URL是以https://开头 3. HTTP协议和HTTP…

MedSAM通用医学分割基础模型(2023+Segment Anything in Medical Images)

摘要&#xff1a; MedSAM&#xff0c;这是为通用医学图像分割设计的首个基础模型。利用包含超过一百万张图像的精心策划的数据集的力量&#xff0c;MedSAM不仅优于现有的最先进的分割基础模型&#xff0c;而且表现出与专业模型相当甚至更好的性能。此外&#xff0c;MedSAM能够…

计算机视觉实验:人脸识别系统设计

实验内容 设计计算机视觉目标识别系统&#xff0c;与实际应用有关&#xff08;建议&#xff1a;最终展示形式为带界面可运行的系统&#xff09;&#xff0c;以下内容选择其中一个做。 1. 人脸识别系统设计 (1) 人脸识别系统设计&#xff08;必做&#xff09;&#xff1a;根据…

深度学习(33)——CycleGAN(2)

深度学习&#xff08;33&#xff09;——CycleGAN&#xff08;2&#xff09; 完整项目在在这里&#xff1a;欢迎造访 文章目录 深度学习&#xff08;33&#xff09;——CycleGAN&#xff08;2&#xff09;1. Generator2. Discriminator3. fake pool4. loss定义5. 模型参数量6…