web基础与http

一,dns与域名

        网络基于tcp/ip协议进行通信和连接的,其中主机以ip地址做固定的地址标识,用以区分用户和计算机。ip地址是由32位二进制数组成,不方便记忆。为了方便记忆,采用了域名。但是网络通信的唯一标识是ip地址,于是就有了dns。

dns的解析方式:

        1,etc/host

        负责快速解析的文件,包含了ip与主机名之间的映射关系。如果没有dns服务器的情况之下,可以使用/etc/hosts来完成解析和映射

        2,etc/resolv.conf

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

        3,修改网卡配置。

生效顺序:1,hosts  2,网卡配置文件  3,resolv.conf

域名解析服务器作用:

        1,保持和维护域名空间

        2,应对相应的解析请求

二,Html

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

网页:纯文本格式的文件,用html语言莱进行编写的。

网站:由多个页面组成的,网页的结合体。主页是打开网站后的第一个页面。

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

http/https

用来传输页面的通信协议,https就是加密的,是一种通信协议,基于tcp协议。端口号http80,https443。

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

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

Web2.0用户交互

静态页面和静态页面:

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

静态页面的特点:

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

动态页面:

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

动态页面的特点:

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

http协议:超文本传输协议

Httpd程序名,apache服务名

http协议是互联网上应用最广泛的网络协议之一,是基于tcp的协议,在应用层工作

客户端和服务端之间进行数据传输的一种规则。

工作流程:

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

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

        Cookie:记录用户的登录状态,跟踪统计用户访问的习惯,识别用户身份,保存用户信息。http自带的连接保持功能,长连接

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

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

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

        连接状态管理:长连接需要维护连接状态。服务器需要跟踪每个连接的状态,增加服务器的负载。

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

        证书:https使用数字证书验证身份。加密解密对访问速度有一定影响。

http请求头中包含请求体,请求体中的内容:

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

        Accept-Encoding:客户端可以接受的编码格式

        Accept-Language:客户端支持的语言类型

        Cache-Control:图片或者是音频文件的缓存时间

        Connection:告诉服务器处理请求连接,一般默认都是keep-alive,默认65.

请求方式:

        get:用来向服务器发起请求。

        Post:向后台发数据,向服务器添加数据,也可以改变服务器数据。

Get方法:

  1. 从指定服务器获取数据
  2. Get请求是可以被缓存的
  3. Get请求会保存在浏览器的记录中,cookie
  4. Get请求长度是有限制的

Post请求

  1. post请求不能缓存
  2. Post请求也不会被记录再浏览器的记录当中
  3. 请求体长度没有限制

Status code状态码,响应码(面试)

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

        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,端口

合同谈判协议中socket的作用:

  1. 客户机套接字:定义了唯一的客户进程
  2. 服务端套接字:定义了一个唯一的服务器进程。

Socket() 创建端口

Bind()  绑定ip和端口

Listen()  监听,等待连接

Accept()  接收请求

Connect()   请求连接建立

Write()  发送

Read()  接受

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

Chose()关闭连接

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

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

相关文章

K8s的详细介绍

1.编写yaml文件的方式 2.yaml里面的内容介绍 Pod实现机制:(1)共享网络(2)共享存储 共享网络:通过Pause容器,把其他业务容器加入到Pause容器里面,让所有业务容器在同一个名称空间中,…

【Spring Cloud 三】Eureka服务注册与服务发现

系列文章目录 【Spring Cloud一】微服务基本知识 Eureka服务注册与服务发现 系列文章目录前言一、什么是Eureka?二、为什么要有服务注册发现中心?三、Eureka的特性四、搭建Eureka单机版4.1Eureka服务端项目代码pom文件配置文件启动类启动项目查看效果 E…

海量小文件传输慢的原因以及对应的优化方案

在日常工作中,我们经常遇到需要传输一些小文件的情况,但是当小文件的数量很多的时候,为什么小文件传输的速度就会变得很慢呢?为什么复制许多较小的文件时,小文件传输效率就会降低呢?针对这些问题&#xff0…

Mybatis插件

文章目录 1. 如何自定义插件1.1 创建接口Interceptor的实现类1.2 配置拦截器1.3 运行程序 2. 插件原理2.1 解析过程2.2 创建代理对象2.2.1 Executor2.2.2 StatementHandler2.2. 3ParameterHandler2.2.4 ResultSetHandler 2.3 执行流程2.4 多拦截器的执行顺序 3. PageHelper3.1 …

聊天系统登录后端实现

定义返回的数据格式 # Restful API from flask import jsonifyclass HttpCode(object):# 响应正常ok 200# 没有登陆错误unloginerror 401# 没有权限错误permissionerror 403# 客户端参数错误paramserror 400# 服务器错误servererror 500def _restful_result(code, messa…

Matlab Optimization Toolbox中的遗传算法工具包(GA)

matlab optimization 中使用了GA求解器 默认的是小于等于 找到GA 工具包 找到 APP选择 Optimization Tool 选择Solver ga - Genetic Algorithm 应用GA solver 定义适应度函数(Fitness function)与问题约束(Constraints) example one 优化函数 sin(x) 2 * cos(x)极其重要的…

windows10 设置代理

场景:同一个办公室,只有A的电脑有权限访问网站 http://10.129.129.129:5601, 那办公室其他B,C同学想访问 http://10.129.129.129:5601,需要怎么处理? A 同学电脑安装代理软件: 1. 下载wproxy IMFirewall, …

iMX6ULL驱动开发 | 让imx6ull开发板支持usb接口FC游戏手柄

手边有一闲置的linux开发板iMX6ULL一直在吃灰,不用来搞点事情,总觉得对不住它。业余打发时间就玩起来吧,总比刷某音强。从某多多上8块儿大洋买来一个usb接口的游戏手柄,让开发板支持以下它,后续就可以接着在上面玩童年…

信息学奥赛一本通——1258:【例9.2】数字金字塔

文章目录 题目【题目描述】【输入】【输出】【输入样例】【输出样例】 AC代码 题目 【题目描述】 观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。 在上面…

VS2019编译安装OpenMesh8.0

文章目录 一、简介二、相关准备三、编译安装四、举个栗子参考资料一、简介 多边形网格一直以来就是交互式3D图形应用程序中最合适的几何表示,它们足够灵活,可以近似任意形状,并且可以通过当前的图形硬件有效地处理,即使在今天的低成本电脑上也是如此。OpenMesh便是其中一种…

Java-很深我只知其一-泛型

Java-很深我只知其一-泛型 目录 泛型历史 泛型类/泛型接口 泛型方法 泛型属性 泛型约束 泛型历史 JAVA 泛型(generics)是 JDK 5 中引入的一个新特性, 允许程序员在编程时指定类型参数,使编译器可以在编译代码时检测到非法的类型。泛型的…

相交链表 LeetCode热题100

题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 题目数据 保证 整个链式结构中不存在环。 思路 使用两个指针x,y同时遍历两个链表A和B。 当两个链表有相交节点时&am…

小研究 - 主动式微服务细粒度弹性缩放算法研究(四)

微服务架构已成为云数据中心的基本服务架构。但目前关于微服务系统弹性缩放的研究大多是基于服务或实例级别的水平缩放,忽略了能够充分利用单台服务器资源的细粒度垂直缩放,从而导致资源浪费。为此,本文设计了主动式微服务细粒度弹性缩放算法…

Centos安装libwebcam库运行 uvcdynctrl 命令

Centos 软件包仓库中没有 libwebcam 库,因此需要下载源文件手动编译 源文件地址:https://github.com/lucasrangit/libwebcam 解压后进入项目文件夹 mkdir build cd build cmake .. make make install 如果使用uvcdynctrl提示找不到库,则 vi…

k8s apiserver如何支持http访问?

原本是可以通过设置api-server的--insecure-port来实现,但是这个参数已经被废弃了,更好的方法则是使用proxy来实现: 在集群任意一个节点上起一个proxy服务,并设置允许所有host访问: kubectl proxy --address0.0.0.0 …

Java 版 spring cloud + spring boot 工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…

基于以太坊+IPFS的去中心化数据交易方法及平台

自己的论文,哎费事 目录 基于以太坊IPFS的去中心化数据交易方法及平台 基于以太坊IPFS的去中心化数据交易方法及平台 摘要: 数据交易过程中存在数据权属不明和数据安全问题。本文开发了一种基于以太坊IPFS的去中心化数据交易方法及平台。方法包括&am…

IPv4网络用户访问IPv6网络服务器

NAT64静态映射为一对一的对应关系&#xff0c;通常应用在IPv4网络主动访问IPv6网络的场景中。 要求位于IPv4网络中的PC通过IPv4地址1.1.1.10能够直接访问位于IPv6网络中Server。 操作步骤 配置FW。 # 配置接口GigabitEthernet 0/0/1的IPv4地址。 <FW> system-view [F…

使用okHttp不走代理问题

背景 okHttp处理流程 okHttp & 代理 为什么没走代理 okhttp选择proxy时&#xff0c;现将传入的url传换为uri&#xff0c;如果uri的host为空&#xff0c;okhttp选择直连url&#xff0c;放弃走代理 okhttp3.internal.connection.RouteSelector private fun resetNextProxy(…

1047. 删除字符串中的所有相邻重复项

给出由小写字母组成的字符串 S&#xff0c;重复项删除操作会选择两个相邻且相同的字母&#xff0c;并删除它们。 在 S 上反复执行重复项删除操作&#xff0c;直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例&#xff1a; 输入&#xff1a…