web基础与HTTP协议

一、域名概述

早期使用hosts文件解析域名

1、主机名称重复

2、主机维护困难

1、DNS(域名系统):

  • 分布式
  • 层次性

2、域名空间结构:

  • 根域
  • 顶级域
    • 组织域
    • 国家、地区域名
  • 二级域名
  • FQDN=主机名.DNS后缀

二、网页的概念:

1、网页:

  • 纯文本格式文件
  • 编写语言为HTML
  • 在用户的浏览器中被“翻译”成网页形式显示出来

2、网站:

由一个个页面构成的,是多个网页的结合体

主页:网站的首页

http:用来传输网页的通信协议

URL:是一种万维网寻址系统

URI是URL的一部分

HTML叫做超文本标记语言,是一种规范,也是种标准, 它通过标记符 号来标记要显示的网页中的各个部分。 网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。

HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为”.html"或“.htm"即可。

3、HTML语法规则:

...

web基础与HTTP协议_第1张图片

...

web基础与HTTP协议_第2张图片

4、静态网页与动态网页

1.静态网页

在网站设计中,纯粹HTML格式的网页通常被称为“静态网页",静态网页是标准的HTML文件,它的文件扩展名是.htm、.html。静态网页是网站建设的基础,早期的网.

站一般都是由静态网页制作的。静态网页也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字幕等。这些“动态效果"只是视觉上的,与下面将要介绍的动态网页是不同的概念。

2.动态网页

所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着HTML代码的生成,页面的内容和显示效果就基本上不会发生变化了一除非是修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。动态网页URI的后缀不是.htm、. shtml、 . xml等静态网页的常见网页制作格式,而是以.aspx、 .asp、 .jsp、 .php、 .perl、 .cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号“?”

动态网页是基本的html语法规范与Java、PHP、c#等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。

因此,从这个意义上来讲,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。

目前常用的动态网页编程语言:

1、Php

2、JSP

3、Python

4、Ruby

5、HTTP协议概述:

协议采用请求/响应模型。客户端向服务器发送一个请求,以及包消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。

HTTP/1.0:这是第一个在通讯中指定版本号的HTTP协议版本,一次只能完成一次请求和响应

HTTP/1.1: 引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。

HTTP/2.0: 完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。 引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务器未经请求,主动向客户端发送资源。

面试题:HTTP1.0和2.0的区别:1.0只能在一个TCP连接中完成一次http请求和响应;添加了HTTP头部信息和协议版本号;2.0支持持久连接(一个TCP连接完成多次http请求和响应);支持多路复用(可以不用按照顺序一一对应,同时发送多次http请求或响应);支持网页压缩后再发送功能;支持服务端主动推送功能

 web基础与HTTP协议_第3张图片

 

HTTP方法:

HTTP支持几种不同的请求命令,这些命令被称为HTTP方法(HTTP method)告诉服务器要执行什么动作,包括:获取-一个页面,运行一个网关程序,删除-个文件等。 最常用的获取资源的方法是GET、POST、 PUT

HTTP方法描述

GET 对服务器资源获取的简单请求

PUT 向服务器提交数据,以修改数据

DELETE 删除服务器上的某些资源

POST 用于发送包含用户提交数据的请求

HEAD 请求页面的首部,获取资源的元信息

1、get请求不会产生副作用,无论进行多少次,结果都是一样的

2、put请求

3、post请求,不仅能修改数据还能添加数据

4、delete:用来删除某一个资源的

web基础与HTTP协议_第4张图片

 

 web基础与HTTP协议_第5张图片

 HTTP状态码:

web基础与HTTP协议_第6张图片

 

301永久重定向

302临时重定向

HTTP常见状态码

状态码 功能描述

200 一切正常

301 永久重定向

302 临时重定向

401 用户名或密码错误

403 禁止访问(客户端IP地址被拒绝)

404 请求的文件不存在

414 请求URI头部过长

500 服务器内部错误

502 无效网关

503 当前服务不可用

504 网关请求超时

6、HTTP请求流程分析

用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。

1.请求报文

请求行:请求行由请求方法、URL以及协议版本三部分组成。

请求头:请求头为请求报文添加了一些附加信息,由“名/值"对组成,每行一对,名和值之间使用冒号分隔。

空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少,

请求体:请求体是请求提交的参数,GET方法已经在URL中指明了参数,所以提交时没有数据。POST方法提交的参数在请求体中。

常用的请求头:

请求头 描述

Host 接受请求的服务器地址,可以是IP:端口号,也可以是域名.

User- Agent 发送请求的应用程序名称

Connecti on 指定与连接相关的属性,如Connect ion: Keep-Alive

Accept-Charset 通知服务端可以发送的编码格式

Accept-Encoding 通知服务端可以发送的数据压缩格式

Accept-Language 通知服务端可以发送的语言

web基础与HTTP协议_第7张图片

 

2.响应报文

状态行:状态行由协议版本,状态码,状态码描述三部分组成。

响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。

空行:响应头部的最后会有一个空行,表示响应头部结束。

响应体:服务器返回的相应HTML数据,浏览器对其解析后显示页面。

常见响应头:

响应头 描述

Server 服务器应用程序软件的名称和版本.

Content-Type 响应正文的类型(是图片还是二进制字符串)

Content-Length 响应正文长度

Content-Charset 响应正文使用的编码

Content -Encoding 响应正文使用的数据压缩格式

Content-Language 响应正文使用的语言

web基础与HTTP协议_第8张图片

 

 

三、总结:

1、域名的空间结构:

主机名.子域.二级域.顶级域.(根域)

2、HTML文档结构

文件名以.html或.htm为后缀

3、网页基本标签

...

...

4、web1.0和web2.0的区别

1.0只能在一个TCP连接中完成一次http请求和响应;添加了HTTP头部信息和协议版本号;

1.1:支持长连接(连接保持、持久连接);支持管道机制(同时发送多个http请求)

2.0支持持久连接(一个TCP连接完成多次http请求和响应);支持多路复用(可以不用按照顺序一一对应,同时发送多次http请求或响应);支持网页压缩后再发送功能;支持服务端主动推送功能

5、http方法

GET:发送查询请求获取网页资源

PUT:向服务器提交数据,修改数据

DELETE:删除资源

POST:提交数据,可插入,添加新数据

HEAD:请求网页的首部信息

6、HTTP协议报文格式

请求报文:请求行(http请求方法、URL路径、协议版本) 请求头 请求体

响应报文:响应行(协议版本、响应状态码) 响应头 响应体

响应状态码:

请求正常的状态码:2xx 3xx

请求异常的状态码:4xx 5xx

200 一切正常

301 永久重定向

302 临时重定向

400 请求错误:客户端发送的请求有语法错误

401 用户名或密码错误

403 禁止访问:客户端IP被禁止

404 请求的文件不存在,请求的URL路径有误,服务器没有对应的文件

500 服务器内部错误,服务器端程序存在缺陷

502 错误网关,代理服务器接收到了来自远端服务器的无效响应

503 服务不可达,服务器过载或者正在维护

504 网关超时,代理服务器无法在规定的时间内收到来自远端服务器的响应

vlan作用:在交换机上逻辑划分广播域

vlan范围1-4094

vrrp:主备

你可能感兴趣的:(Linux,服务器,运维)