dns域名:
网络是基于tcp/ip协议进行链接和通信的
应用层----传输层----网络层----数据链路层---物理层
ip地址,我们每一台主机都有一个唯一的地址标识(固定的ip地址),区分用户和计算器通信。
IP地址:有32为二进制数组成的,不方便记忆。(192.168.3.20)
所以会有域名:www.baidu.com 然后有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、准备材料----域名注册网站----注册,申请---正式使用
html:超文本标记语言,是一种规范的、标准的语言格式。网页文件本身就是一个文本文件,html通过标记的方式,告诉浏览器如何显示文本当中的内容。html文件是一个文本文件,所有能够生成txt文件的工具,都可以进行编辑,修改之后的文件后缀名:.html或者.htm
网页:纯文本格式的文件,用html语言来进行编写的。用浏览器翻译成页面的形式显示出来。
网站:是由多个页面组成的,网页的结合体,主页:打开网站之后出现的第一个页面就是网站的主页(首页)。
域名:浏览网页时输入的网址。
http/https
用来传输页面的通信协议,https就是加密的,他们都是一种通信协议,基于tcp协议,http端口号默认80,https默认端口号:443
URL:万维网寻址系统,唯一标识。
URI:
URL包含URI
超链接:超链接将网站中的不同页面链接起来。
发布:将制作好的网页上传到服务器,供用户访问。
html的语法:
<html>
<head>网页的内容描述 结尾</head>
<body>网页的内容 结尾</body>
</html>
头标签中常用的标签
<title> 定义了文档的标题
<base> 定义了页面链接标签的默认链接地址
<link> 定义了一个文档和外部资源之间的关系
<meta> 定义了 HTML 文档中的元数据
页面标签的链接地址
<script> 定义了客户端的脚本文件
<style> 定义了 HTML 文档的样式文件
内容当中常用的标签
<table> 定义表格
<tr> 定义表格中的一行
<td> 定义表格当中某一行的一列
<img> 定义图片
<a> 超链接
<font> 定义字体
web2.0用户交互
静态页面和动态页面:
静态页面就是标准的html文件
扩展名都是.htm .html
里面可以包含图片,文本,声音,动画
是网站建设的基础,早期的网站都是静态页面
没有后台数据,不包含可交互的内容
更新起来比较麻烦,一般用于展示型网站。
静态页面特点:
1、静态页面的URL是固定的。一般不包含?
2、页面一经发布,都是保存在网站服务器上的
3、静态页面相对稳定,内容很少发生变化,容易被搜索引擎检索。
4、没有数控库的支持,制作和维护的工作量比较大。网站的信息量如果太大,单纯使用静态页面比较困难
5、没有交互性,只能看,功能上受限很大。
6、浏览速度很快,因为不需要连接后端数据库。
动态页面:
1、网页url是不固定的,用户可以和后台数据进行交互
2、动态页面的网址中一般会包含一个特殊标记---------?
3、动态页面的语言:PHP JSP PYTHON RUBY TOMCAT (JAVA)
动态页面的特点:
1、交互性
2、自动更新
3、特效,每个人进入页面的时候,会有不同效果。
总结:
web1.0 静态页面: 看
web2.0动态页面:交互
http协议:
hpptd程序名,apache服务名
http协议,超文本传输协议。互联网上应用最广泛的网络协议之一。
基于tcp协议的应用层的传输协议。面向用户。
客户端和服务端之间进行数据传输的一种规则
工作流程:
1、客户端和服务端进行tcp连接。
三次握手---建立连接。
2、客户端发送http请求,服务端接受http请求之后,响应客户端的请求。
3、socket接口,通过端口进行通信。
4、响应达到客户端,解析的过程(浏览器),用户查看,使用,访问。
5、访问,使用,查看,结束之后,断开连接,四次挥手
http是一种无状态的协议,本身不会对发送过的请求和响应的通信进行持久化处理。链接保持
为了让http能够快速的大量的进行处理事务,提高效率。连接保持是需要的。
cookie:记录用户的登录状态,跟踪统计用户访问网站的习惯,识别用户身份,保存用户信息。
这个是服务器留在用户计算机上的小文件。
http协议本身自带的连接保持功能
http 0.9
http 1.0
http 1.1 自带链接保持功能,长连接。
长连接:一次性获取页面文件的所有信息,不再需要分开处理请求。所以速度大大加快 。并行。
连接保持:keep-alive,在一个tcp连接上,可以传送多个http的请求和相应。减少了建立和关闭连接的消耗和延迟。连接保持是有时间的,不是无限的。默认开启的,60秒
连接资源占用:长时间保持,会降低服务器的负载,如果是高并发,会使服务器耗尽资源。
连接状态管理: 长连接需要维护连接状态。服务器需要跟踪每个连接的状态,增加服务器的负担。(集群的诞生)
市场目前主流:
http: 1.1
https:加密通信协议,加密数据传输。加密过程涉及客户端和服务器之间进行密钥交换,确保只有合法的接收方,能够解密数据。
证书:https使用数字证书验证身份。
https:电子商务,银行网站
加密解密会对访问速度有一定影响。
http的请求方式:
1、请求头
请求头当中包含请求体。
请求体当中的内容:
Accept;客户端可以接受的数据类型
Accept-Encoding: 客户端可以接受的编码格式
Accept-Language:客户端可以支持的语言类型。
Cache-Control:缓存时间,图片或者音频文件的缓存时间。
缓存指的是保留在本地的时间,下一次再访问图片,不需要再去服务端发起请求了,提高访问速度
Connection: 告诉服务器外理请求连接。。一般默认都是keep-alive,连接保持,默认65秒 。
keep-alive:告诉服务器,别急着关闭连接,保持一段时间。
请求方式: get 就是用来向服务器发起请求。http协议中的get,就是请求。
post也是请求的一种,post是向后台发数据。服务器会添加数据,也可以改变服务器上的数据。
get方法:
1、从指定服务器获取数据
2、get请求是可以被缓存
3、get请求会保存在浏览器的记录中,cookie
4、get请求的长度,是有限制的
post:
也是请求的一种,提交数据给服务器处理
1、post请求不能缓存
2、post请求也不会记录在浏览器的记录当中
3、请求体的长度也没有限制
---------------------------------------------------------------------------------------------------------------------------------
★★★★★状态码★★★★★★面试会问
状态码,响应码,服务器来进行提供的:
请求之后,服务器收到请求,会有一个回应,响应,同时会反馈一个响应吗。
请求状态的响应码:
1xx
2xx
3xx
4xx
5xx
100-101 信息提示
200-206 成功 只要状态码是200,统统是成功。
300-305 重定向
400-415 客户端错误 请求失败 ,获取资源失败
500-505 服务端错误 响应失败
200:成功 ok
301:请求永久页面跳转。
304:重定向到缓存。
403:禁止访问。
404:请求页面找不到
500:服务器内部错误
502:网关失效
503:服务不可用
504:网关请求超时。
---------------------------------------------------------------------------------------------------------------------------------
通讯套接字:
socket:
实现不同主机进行通信和数据交换,
进程间传输的标志:ip,端口
http协议当中socket的作用:
1、客户端套接字:定义唯一的客户进程。
2、服务端套接字:定义了一个唯一的服务器进程。
套接字调用的相关接口
socket()创建端口
bind()绑定ip和端口
listen()监听,等待连接
accept()接受请求
connect()请求连接建立
write()发送
read()接受
ESTABLISHED 连接已经建立,正在传输数据
close()关闭连接
nc工具的模拟实验