web基础与http协议

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

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

作用:1、区分用户和计算机  2、通信

ip地址的问题:由32位二进制数组成,不方便记忆,从而引申出域名(www.baidu.com)

dns解析:把域名解析成ip地址,方便通信

dns解析的方式:1、/ect/hosts  负责快速解析的文件,包含ip与主机名之间的映射关系

如果没有dns服务器的情况下,可以使用/etc/hosts来完成解析和映射

2、/etc/resolv.con: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:万维网寻址系统,唯一标识,完整的格式为:https://www.baidu.com

uri:完整格式 https://www.baidu.com/v/.......    从v开始就是uri,整个完整的就是URL

uri包含在URL中     uri:网站中请求的分页面

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

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

web2.0 用户交互,静态页面和动态页面

静态页面就是标准的html文件  扩展命就是.html   .htm   里面可以包含图片文本声音动画

是网站建设的基础,早期的网站都是静态页面,没有后台数据,不包含可交互的内容

更新起来比较麻烦,一般用于展示性网站。

静态页面特点:1、固定的URL,一般不包含问号

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

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

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

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

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

动态页面:1、网页url是不固定的,用户可以和后端数据进行交互

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

3、动态页面的语言  PHP  JSP  PYTHON  RUBY  TOMCAT(JAVA)

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

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

httpd服务:apache服务名,是apache服务在程序中的名字

工作流程:1、客户端和服务端进行tcp连接(三次握手建立连接)

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

3、socket接口,通过端口进行通信

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

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

http是一种无状态的协议,本身不会对发送过的请求和响应的通信进行持久化处理

连接保持,为了让http能够快速的大量的进行处理事物,提高效率

连接保持是需要的

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

cookie是服务器留在计算机上的小文件

http本身自带的一种连接保持功能:htto1.1自带连接保持功能也叫长连接

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

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

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

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

(集群为减缓负担而诞生)  http1.1  https:加密通讯协议,主要加密数据传输

http的请求方式:1、请求头,当中包含请求体

2、请求体当中的内容:Accept:客户端可以接收的数据类型

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

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

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

缓存指的是保留在本地的时间,下一次在访问图片,不需要再去服务端发起请求,提高访问速度

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

keep-alive:告诉服务器,别急着关闭,保持一段时间

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

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

get方法:1、从指定服务器获取数据

2、get请求是可以被缓存

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

4、get请求的长度是有限制的

获取数据

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

1、post请求不能缓存

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

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

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

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

请求状态的响应码:(面试题)

1xx:100-101  信息提示

2xx:200-206  标识成功,只要是状态码200,都是成功

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()关闭连接

使用工具nc来模拟实验

你可能感兴趣的:(http,网络,服务器)