> 文章列表 > 服务(第一篇)Web基础和http协议

服务(第一篇)Web基础和http协议

服务(第一篇)Web基础和http协议

DNS:

方法:递归、迭代
正向解析:根据域名查找对应的IP地址;

反向解析:根据IP地址查找对应的域名

域名空间结构:

① 根域 位于域名空间最顶层,一般用一个 “.” 表示                                
基础单位,除了根域 其他都只有一个上级域,有0或多个子域,同层域不可重复的子域或域名

② 顶级域
一般代表一种类型的组织机构或国家地区(主要有此两种类型构成),如 net(网络公司)、com(商业)、org(民间团体组织)、edu(教育)、gov(政府)、mil(军事)、cn(中国)、jp(日本)、hk(中国香港)

③ 二级域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

④ 子域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

主机
主机位于域名空间最下层,就是一台具体的计算机,如 www、mail、都是具体的计算机名字,可用www.baidu.com.cn.、mail.baidu.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名),也是这台主机在域名中的全名
 

网页访问:

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

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

HTML 基本标签

(1)HTML 语法规则
HTML标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容被标签描述。前标记符由“<XXX>”表示,结尾标记符多了一个“/”,由“</XXX>”表示。
(2)HTML 文件结构
HTML文件最外层由<html></html>表示说明该文件是用HTML语言描述的。在它里面是并列的头标签(<head>)和内容标签(<body>)

①HTML 文件结构如下:
<html>
    <head>网页的内容描述信息</head>
    <body>网页显示的内容</body>
</html>

②头标签中常用标签:
标签                描述
<title>                定义了文档的标题
<base>                定义了页面链接标签的默认链接地址
<link>                定义了一个文档和外部资源之间的关系
<meta>                定义了 HTML 文档中的元数据
<script>            定义了客户端的脚本文件
<style>                定义了 HTML 文档的样式文件
③内容标签中常用标签
标签                描述
<table>                定义一个表格
<tr>                定义了表格中的一行
<td>                定义了表格中某一行的一列
<img>                定义了一个图像
<a>                    定义了一个超链接
<p>                    定义了一行
<br>                定义了换行
<font>                定义了字体
<h1>                定义字体大小

静态网页与动态网页

静态网页:动图、视频这些都是静态

动态网页:实时更新的信息(例如天气、股票等)

HTTP协议

HTTP 已经演化出了很多版本,它们中的大部分都是向下兼容的:

议版本,至今仍被广泛采用,特别是在代理服务器中。
(2)HTTP/1.1:引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。
(3)HTTP/2.0:完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务器未经请求,主动向客户端发送资源。

HTTP 方法:
GET                    对服务器资源获取的简单请求
PUT                    向服务器提交数据,以修改数据
DELETE                删除服务器上的某些资源
POST                用于发送包含用户提交数据的请求
HEAD                请求页面的首部,获取资源的元信息

GET 和 POST 比较
GET 方法:从指定的服务器上获得数据
GET请求能被缓存
GET请求会保存在浏览器的浏览纪录里
GET请求有长度的限制
主要用于获取数据
查询的字符串会显示在URL后缀中,不安全,比如 http://www.test.com/a.php?Id=123 

POST 方法:提交数据给指定服务器处理
POST请求不能被缓存
POST请求不会保存在浏览器的浏览纪录里
POST请求没有长度限制
查询的字符串不会显示在URL中,比较安全
 

HTTP 状态码:
通常正常的状态码为2xx,3xx(如200),如果出现异常会返回4xx,5xx(如404)

状态码首位            已定义范围            分类    
1xx                    100-101                信息提示
2xx                    200-206                成功
3xx                    300-305                重定向
4xx                    400-415                客户端错误
5xx                    500-505                服务器错误

HTTP 常见状态码
状态码        功能描述
200            一切正常
301            永久重定向
302            临时重定向
401            用户名或密码错误
403            禁止访问(客户端IP地址被拒绝)
404            请求的文件不存在
414            请求URI头部过长
500            服务器内部错误
502            无效网关
503            当前服务不可用
504            网关请求超时

 

HTTP 请求流程分析

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

1.请求报文
请求行:请求行由请求方法、URL 以及协议版本三部分组成。
请求头:请求头为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。
空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。
请求体:请求体是请求提交的参数,GET 方法已经在 URL 中指明了参数,所以提交时没有数据。POST 方法提交的参数在请求体中。

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

2.响应报文
状态行:状态行由协议版本,状态码,状态码描述三部分组成。
响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。
空行:响应头部的最后会有一个空行,表示响应头部结束。
响应体:服务器返回的相应 HTML 数据,浏览器对其解析后显示页面。

常见响应头:
响应头                描述
Server                服务器应用程序软件的名称和版本
Content-Type        响应正文的类型(是图片还是二进制字符串)
Content-Length        响应正文长度
Content-Charset     响应正文使用的编码
Content-Encoding    响应正文使用的数据压缩格式
Content-Language    响应正文使用的语言