Web基础

作者: 编程人生 | 来源:发表于2021-05-09 13:12 被阅读0次

1.1 域名和DNS

1. 域名的概念

网络是基于TCP/IP协议进行通信和连接的,每一台主机都有一个唯一的固定的IP地址,以区别于成千上万个用户和计算机。为保证网络上每台计算机的IP地址的唯一性,用户必须向特定机构申请注册、分配IP地址。网络中地址方案有两套:IP地址系统和域名地址系统。这个两套系统其实是一一对应的。IP地址用二进制数来表示,每个IP地址长32比特,由4组8位的二进制数字组成,数字之间用点间隔。为了方便记忆地址,域名产生了。域名是符号化的地址并且与IP地址对应。

通俗的说,域名就相当于一个家庭的门牌号,别人通过这个号码可以很容易的找到你。

(1)。域名的结构

例如: www.baidu.com

"baidu"是这个域名的主体,"com"则是该域名的后缀,代表这是个com国际域名,是个顶级域名,而前面的www是主机名。

域名有由英文字母和数字组成, 每一组不超过63个字符,也不区分大小写字母,除连字符(-)不能使用其他的标调符号。低级别域名写在最左边,高级别的写在右边。

(2)。域名的结构类型

根域:指的是根服务器。用来管理互联网的主目录,全世界有13个。一个为主根服务器,放置在美国,其余12个均为铺根服务器。其中9个在美国,2个在欧洲,1个在日本。所有的根服务器均由美国政府授权的机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等管理。

顶级域:包括组织域名和国家/地区域名。域名的最右侧是国家/地区域名。国家代码由两个字母组成,如.cn,.de 和 .jp ,其中.cn用于商业机构,.net用于网络组织,.org用于各种组织。

二级域名:在顶级域名之前的域名,它是指域名注册人的网上名称,例如baidu。

FQDN:即主机名。DNS后缀, 是主机名加上全路径。

2.Hosts文件

Hosts文件是一个用于存储计算机网络中节点信息的文件,它可以将主机名映射到相应的IP地址,实现DNS的功能,它可以由计算机的用户进行修改控制。

作用:在网络上访问网站,要首先通过DNS服务器要把访问的域名解析成IP地址后, 计算机才能对个网络域名进行访问。

要是对于每个域名请求我们都要当道域名服务器解析后返回IP信息,这样访问网络的效率就会降低,因为DNS做域名解析和返回IP都需要时间。为了提高对经常访问的网络域名的解析效率,可以通过在Hosts文件中建立域名和IP的映射关系来达到目的。根据系统规定,在DNS请求前,系统会检查自己的Hosts文件中是否有这个网络域名映射关系。如果有,则调用这个IP地址映射,如果没有,再向已知的DNS服务器提出域名解析,也就是说Hosts的请求级别比DNS高。

2。修改Hosts文件

windows系统下Hosts文件存储在目录:c:\windows\system32\drivers\etc\下面,用记事本可以对其进行修改,CentOS系统中存储在目录/etc/hosts下面,用vi/etc/hosts可以对其进行修改。如:127.0.0.1 www.baidu.com

主机名到IP地址的映射有两种方式

(1)静态映射:hosts文件

(2)动态映射。DNS-域名解析系统。

在域名解析时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名机械解析的方法。将一些常用的域名放入静态域名解析表中,可以大大提高域名解析效率。

在windows命令行模式中输入网络查询命令nslookup  www.baidu.com可以查询到域名对应的IP地址。

4。域名注册

1.2Http协议

超文本传输协议(HyperText Transfer Protocl , HTTP) 是互联网上应用最为广泛的一种网络技术协议,所有的网页文件都必须遵守这个标准。

1.2.1HTTP 协议概述

HTTP协议采用了请求/相应模型。客户端向服务器发送一个请求,请求头包含请求的方法,URL、协议的版本,以及包含请求修饰符,客户信息和内容的类似于MIME的消息结构。

服务器以一个状态运行作为响应,响应的内容包括消息协议的版本、成功或者错误编码,再加上服务器信息,实体元信息以及可能的实体内容。

HTTP1.0--这是第一个在通信中指定版本好的HTTP协议版本,至今仍被广泛的采用,特别是代理服务器中

HTTTP1.1--当前版本。持久连接被默认采用,并能很好地配合代理服务器工作:还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。

1.2.2 HTTP方法

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

GET-- 请求获取Request-URl所标识 的资源

PUT--请求服务器存储一个资源,并用Requert-URI作为其标识

DELETE --请求服务器删除Request-URI所标识的资源

POST--在Request-URI所标识的资源后附加新的数据

HEAD--请求获取由Request-URI所标识的资源的相应消息报头

GET vs POST区别

1.对数据长度的限制

GET请求:URL的长度是受限制的(URL的最大长度是2048个字符)

POST请求:无限制

2.安全性

GET请求:与post相比,get的安全性较差,因为所发送的数据是URL的一部分,在发送密码和其他敏感信息时绝不用GET

 POST请求:相比GET更安全,因为参数不会被保存在浏览器历史或WEB服务器日志中。

3.历史

GET请求:参数保留在浏览器历史中

POST请求:参数不会保存在浏览器历史中

4.后退和刷新

GET请求:无害

POST请求:数据会被重复提交

5.书签

GET请求:可收藏为书签

POST请求:不可收藏为书签

1.2.3 HTTP状态码

1xx  100-101  信息提示

2xx   200-206  成功

3xx   300-305   重定向

4xx   400-415 客户端错误

5xx   500-505 服务端错误

1.2.4 HTTP请求流程分析

1·.请求报文

(1)请求行

由三部分组成, 分别是:请求方法,URL以及协议版本

(2)请求头

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

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

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

Connection 指定与连接相关的属性

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

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

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

(3)空行

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

(4)请求体

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

2.响应报文

(1)状态行

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

(2)响应头

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

Content-Type 响应正文的类型

Content-Length 响应正文长度

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

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

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

(3)空行

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

(4)响应体

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

1.2.5  Fiddler 抓包工具

1、下载Fiddler 并安装

Fiddler下载地址  http://www.downza.cn/soft/234727.html

2. IE浏览器默认 Fiddler启动后就可以抓包

Fox浏览器 需要设置下代理服务器 :127.0.0.1:8888

具体参照文章:

https://www.cnblogs.com/miantest/p/7289694.html

相关文章

  • java web目录

    java web目录 web编程基础web编程进阶(一)web编程进阶(二)web编程原理

  • Web页面制作基础

    Web页面制作基础 说明:仅作为学习辅助 那么Web页面制作基础,能让你掌握什么呢? 第一节掌握Web基础知识。 ...

  • Web页面制作基础

    Web页面制作基础 说明:仅作为学习辅助 那么Web页面制作基础,能让你掌握什么呢? 第一节掌握Web基础知识。 ...

  • 图解HTTP-Web和网络基础

    Web和网络基础 Web(Web就是在Http协议基础之上, 利用浏览器进行访问的网站)使用Http的协议作为规范...

  • web前端入门基础

    web前端基础笔记 学习web前端开发基础技术需要掌握:HTML、CSS、JavaScript语言。下面我们就来了...

  • HTML基础学习笔记

    原 Blog 链接:HTML基础学习笔记 自学 html 基础笔记 Web 前端简单介绍 web 前端包含: pc...

  • Web 测试(1) | Web 原理与 Web 测试基础

    Web测试基础 I. 如何开展Web测试 Web测试的对象 Web的页面元素 Web的业务逻辑 Web的数据行为 ...

  • 无标题文章

    #Web前端 - web前端是什么 - 定义 - 职责 - web前端基础知识和学习路线 - web前端学习的...

  • spring boot REST源码学习

    REST理论基础REST On Spring Web MVCREST On Spring Web Flux 服...

  • 后台web基础框架-Jants

    后台web基础框架-Jants

网友评论

      本文标题:Web基础

      本文链接:https://www.haomeiwen.com/subject/slrmdltx.html