Web基础与http协议

61 阅读5分钟

一.Web基础

1.域名概述

image.png

2.域名结构

主机名.子域【.二级域.】.顶级域.

image.png

3.域名解析

在本机的hosts定义,在DNS解析

DNS解析过程(客户端>本地缓存域名服务器>根域名服务器>顶级域名服务器>二级域/子域名服务器>根据主机名解析IP)

4.html文件概述

4.1 html概述

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

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

4.2 html基本标签

html语法规则

html标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容

被标签描述。前标记符由“XXX”表示,结尾标记符多了一个“/”,由“/XXX”表示。

html文章结构

html文件最外层由html/html表示,说明该文件是用html语言描述的。在它里面是并列的头

标签(head)和内容标签(body)

最基本的html文件结构如下

html
head网页的内容描述信息/head     body网页显示的内容/body /html

5. 静态网页与动态网页

5.1 静态网页

  • 就是标准的html网页,网页文件后缀通常是 .html .htm  .shtml 等
  • 没有后台数据库支持
  • 不包含任何应用程序
  • 网页不可交互
  • URL网页路径中不含有 ?

5.2 动态网页

  • 有后台数据库支持
  • 网页可交互
  • 也可以自动更新
  • 网页内容会包含用php java python等高级编程语言编写的应用程序
  • URL网页路径中会含有标志性符号 ?(用于参数)

二. HTTP协议

1. HTTP协议概述

HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、 协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态 行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以 及可能的实体内容

2. HTTP协议版本

http 1.0

开始支持传输http头部信息(http协议版本,状态码等);只支持短连接(在一个TCP连接中只能 完成一次http请求和响应过程)

http 1.1

支持长连接(连接保持,持久连接)和管道机制,即支持在一个TCP连接中可完成多次http请求和 响应,且要求按照顺序一一对应

http 2.0

支持二进制传输;支持长连接和完全多路复用,即支持在一个TCP连接中可完成多次http请求和响 应,且不用按照顺序一一对应;还支持网页头部压缩和允许服务端主动推送

http 3.0

基于UDP协议实现,具有更高的传输效率

3. HTTP请求方法

GET发送查询资源请求,用于查询、读取或下载资源
PUT向服务器提交数据,用于修改资源
POST向服务器提交数据,用于添加资源
DELETE用于删除资源
HEAD用于查询网页的头部信息和元数据

4. HTTP响应状态码

正常响应

2xx(正常) 3xx(重定向)

异常响应

4xx(客户端请求错误) 5xx(服务端响应异常)

200一切正常
301永久重定向
302临时重定向
401账号/密码验证错误
404服务器找不到请求的网页
500服务器遇到错误,无法完成请求
502服务器作为网关或代理,从上游服务器收到无效响应
503服务不可用,代表服务器可能已过载或正在维护/宕机导致的
504服务器作为网关或代理,但是没有及时从上游服务器收到请求

5. HTTP请求流程

5.1 HTTP请求报文

请求行:包含请求方法、请求的URL文件路径、HTTP协议版本

请求头:键值对类型的信息

请求体:包含向服务器提交的数据

常见请求头

HOST接受请求服务器的地址,可以是IP:端口号,也可以是域名
User-Agent发送请求的应用程序名称
Connection指定与连接相关的属性,如Connetction:Keep-Alive
Accept-Charset通知服务端可以发送的编码格式
Accept-Encoding通知服务端可以发送的数据压缩格式
Accept-Language通知服务端可以发送的语言

5.2 HTTP响应报文

相应行/状态行:包含HTTP协议版本、响应状态及描述

响应头:键值对类型的信息

响应体:包含服务器返回的网页数据

常见响应头

Server服务器应用程序软件的名称和版本
Content-Type响应正文的类型
Content-Length响应正文长度
Content-Charset响应正文使用的编码
Content-Encoding响应正文使用的数据压缩格式
Content-Language响应正文使用的语言