二阶段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地址

 

 

 

 

 

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

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

相关文章

触发器实现海豚调度失败企业微信自动告警

原理 触发器监控工作流实例表&#xff0c;当工作流实例表中的状态更新后&#xff0c;针对状态为失败的任务进行企业微信告警。 发送企业微信消息函数 # 必须在pg的主机上线安装requests模块 pip install requests # 以postgres用户登陆psql客户端到etl数据库 psql etl -U po…

ClickHouse的安装启动

安装步骤 1.关闭防火墙 2.修改资源限制配置文件 2.1 路径&#xff1a;/etc/security/limits.conf 在末尾添加&#xff1a; * soft nofile 65536 #任何用户可以打开的最大的文件描述符数量&#xff0c;默认1024 这里的设置会限制tcp连接数 * hard nofile 65536 * soft nproc…

express学习笔记3 - 三大件

便于统一管理router&#xff0c;创建 router 文件夹&#xff0c;创建 router/index.js&#xff1a; const express require(express)// 注册路由 const router express.Router() router.get(/,function(req,res){res.send(让我们开始express之旅) }) /*** 集中处理404请求的…

抖音短视频seo矩阵系统源码开发部署技术分享

抖音短视频的SEO矩阵系统是一个非常重要的部分&#xff0c;它可以帮助视频更好地被搜索引擎识别和推荐。以下是一些关于开发和部署抖音短视频SEO矩阵系统的技术分享&#xff1a; 一、 抖音短视频SEO矩阵系统的技术分享&#xff1a; 关键词研究&#xff1a;在开发抖音短视频SEO矩…

限流式保护器在古建筑电气火灾中的应用

安科瑞 华楠 【摘要】针对文物古建筑本身火灾危险性大&#xff0c;并且其内部电气问题较多&#xff0c;增加了火灾危险性的特点&#xff0c;提出了预防电气火灾的措施。 【关键词】古建筑&#xff1b;电气防火&#xff1b;限流式保护器&#xff1b; 文物古建筑是中华民族历史文…

纯nginx制作文件上传下载服务器

什么是webdav webdav 是一组超文本传输协议的技术集合&#xff0c;有利于用户键协同编辑和管理存储在万维网服务器文档。同时来说就是&#xff0c;webdav可以让用户直接存储&#xff0c;下载&#xff0c;编辑文件&#xff0c;操作文件需要进行用户认证 基于nginx快速搭建webdav…

《MySQL 实战 45 讲》课程学习笔记(一)

基础架构&#xff1a;一条 SQL 查询语句是如何执行的&#xff1f; MySQL 的基本架构 MySQL 可以分为 Server 层和存储引擎层两部分。 Server 层 包括连接器、查询缓存、分析器、优化器、执行器&#xff1b;涵盖 MySQL 的大多数核心服务功能&#xff0c;以及所有的内置函数&…

idea模块的pom.xml被划横线,不识别的解决办法

目录 问题&#xff1a; 解决办法&#xff1a; 1.打开设置 2. 取消勾选 3.点击确认 4.解决 问题提出&#xff1a; 写shi山的过程中&#xff0c;给模块取错名字了&#xff0c;改名的时候不知道点到了什么&#xff0c;一个模块的pom.xml变成灰色了&#xff0…

排序算法(冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、计数排序)

&#x1f355;博客主页&#xff1a;️自信不孤单 &#x1f36c;文章专栏&#xff1a;数据结构与算法 &#x1f35a;代码仓库&#xff1a;破浪晓梦 &#x1f36d;欢迎关注&#xff1a;欢迎大家点赞收藏关注 文章目录 &#x1f353;冒泡排序概念算法步骤动图演示代码 &#x1f34…

谷歌: 安卓补丁漏洞让 N-days 与 0-days 同样危险

近日&#xff0c;谷歌发布了年度零日漏洞报告&#xff0c;展示了 2022 年的野外漏洞统计数据&#xff0c;并强调了 Android 平台中长期存在的问题&#xff0c;该问题在很长一段时间内提高了已披露漏洞的价值和使用。 更具体地说&#xff0c;谷歌的报告强调了安卓系统中的 &quo…

Java阻塞队列

什么阻塞队列 阻塞队列&#xff08;BlockingQueue&#xff09;是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。 支持阻塞的插入方法&#xff1a;意思是当队列满时&#xff0c;队列会阻塞插入元素的线程&#xff0c;直到队列不满。支持阻塞的移除方…

vue项目开发常用工具类

防止重复造轮子&#xff0c;将经常用的函数进行记录&#xff0c;也参考网上的并一起进行记录&#xff0c;后续会持续更新常用到的函数工具类方法&#x1f609;&#x1f609; /** 验证手机号是否合格* true--说明合格*/ export function isPhone(phoneStr) {let myreg /^[1][3,…

艺人商务代言:避雷策略与成功合作之道

避免在艺人商务代言中遇到风险&#xff0c;是每个企业和艺人都应该高度重视的问题。代言活动是一种有效的市场营销手段&#xff0c;可以为企业带来广泛的曝光和销售增长&#xff0c;同时也能让艺人获得额外的收入和更高的知名度。然而&#xff0c;不慎选择错误的代言合作可能带…

Vue3--->组合式API与Pinia

目录 使用create-vue搭建 1、使用create-vue创建项目 2、项目目录和关键文件 组合式API 1、组合式API - setup选项 2、组合式API - reactive和ref函数 3、组合式API - computed 4、组合式API - watch 1、基础使用 - 侦听单个数据 2、基础使用 - 侦听多个数据 3、immediate&…

基于 FFmpeg 的跨平台视频播放器简明教程(七):使用多线程解码视频和音频

系列文章目录 基于 FFmpeg 的跨平台视频播放器简明教程&#xff08;一&#xff09;&#xff1a;FFMPEG Conan 环境集成基于 FFmpeg 的跨平台视频播放器简明教程&#xff08;二&#xff09;&#xff1a;基础知识和解封装&#xff08;demux&#xff09;基于 FFmpeg 的跨平台视频…

leetcode每日一题Day2——344. 反转字符串

✨博主&#xff1a;命运之光 &#x1f984;专栏&#xff1a;算法修炼之练气篇&#xff08;C\C版&#xff09; &#x1f353;专栏&#xff1a;算法修炼之筑基篇&#xff08;C\C版&#xff09; &#x1f433;专栏&#xff1a;算法修炼之练气篇&#xff08;Python版&#xff09; …

【面试题】与通义千问的芯片前端设计模拟面试归纳

这里是尼德兰的喵芯片设计相关文章,欢迎您的访问! 如果文章对您有所帮助,期待您的点赞收藏! 让我们一起为芯片前端全栈工程师而努力! 前言 两个小时,与chatGPT进行了一场数字IC前端设计岗的面试_尼德兰的喵的博客-CSDN博客 和GPT-3.5的回答可以对比品尝,味道更好。 模…

Jenkins pipeline 脚本语言学习支持

1 引言 Groovy是用于Java虚拟机的一种敏捷的动态语言&#xff0c;它是一种成熟的面向对象编程语言&#xff0c;既可以用于面向对象编程&#xff0c;又可以用作纯粹的脚本语言。 使用该种语言不必编写过多的代码&#xff0c;同时又具有闭包和动态语言中的其他特性。 Groovy是一…

用Python写了一个下载网站所有内容的软件,可见即可下

目录标题 前言环境介绍:代码实战获取数据获取视频采集弹幕采集评论 GUI部分尾语 前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 今天我们分享一个用Python写下载视频弹幕评论的代码。 顺便把这些写成GUI&#xff0c;把这些功能放到一起让朋友用起来更方便~ 环境介绍: py…

tinkerCAD案例:29. 摇头娃娃

Research Your Favorite Bobblehead 摇头娃娃 Project Overview: 项目概况&#xff1a; Design and create your favorite Minecraft 3D bobble head. All you need is a computer, 3D printer, spring and your creativity to your favorite Minecraft character in the for…