一、域名
网站通常需要有一个域名,方便用户用网址进行访问(万维网站上可以申请购买域名,并在公安系统进行备案,方可在国内大陆使用,URL是一种万维网寻址系统)。
域名的结构:主机名.子域[.二级域].顶级域
(权威域名) (根域)
域名解析(DNS解析):在本机的 hosts 定义,DNS解析过程(客户端 -> 本地缓存域名服务器 -> 根域名服务器 -> 顶级域名服务器 -> 二级域/子域名服务器 -> 根据主机名解析出IP)。解析方法有递归查询、迭代查询。
二、web网页和网站
网页本身是用编程语言编写html格式的纯文本文件,在浏览器中被翻译成网页形式展现出来,文件名通常以 .html 或 .htm 为后缀。HTML标签或HTML超文本标记语言即hyper text markup language,是网页的“源码”,浏览器是“解释和执行”HTML源码的工具。
网站是由超链接将上传到服务器中的不同网页连接起来的,我们把打开网站后出现的第一个网页被称为网站主页或首页。
1)html网页的基本格式
HTML文档的结构:头部部分——标题部分——主题部分——网页内容(包括文本、图像等)
<html>
<head><title>.....</title></head> #指定网页的头部标题
<body>......</body> #指定网页的内容
</html>
2)网页的基本标签
- <title>标签:属于网页摘要信息,有利于浏览器解析和搜索引擎搜索。
- <meta>标签:也属于网页摘要信息,始终位于 <head> 元素内,通常用于指定字符集、页面描述、关键词、文档作者和视口设置,元数据不会显示在页面上,但可以被机器解析。
- 标题标签,标记为<h1>...</h1>,<h2>...</h2>,<h3>...</h3>...
- 行控制相关标签,标记为<p>...</p>,<br/>表示换行
- 范围标签,标记为<span>...</span>
- 图像标签,标记为<ima src="linux.hpg"/>
- 超链接标签,标记为<a href="linux.html">你好</a>,href用于指定文件
- 特殊符号,标记为 "©>
3)静态页面和动态页面
静态页面:就是标准的html网页,网页文件后缀通常是 .html .htm .shtml 等。没有后台数据库支持,不包含任何应用程序,网页不可交互,URL网页路径中不含有 ?
动态页面:有后台数据库支持,网页可交互,也可以自动更新,网页内容会包含用php java python等高级编程语言编写的应用程序,URL网页路径中会含有标志性符号 ?(用于参数)
三、HTTP超文本传输协议【☆】
1)http协议版本
http1.0:开始支持传输http头部信息(http协议版本,状态码等);只支持短连接(在一个TCP连接中只能完成一次http请求和响应过程);
http1.1:支持长连接(连接保持,持久连接)和管道机制,即支持在一个TCP连接中可完成多次http请求和响应,且要求按照顺序一一对应;
http2.0:支持二进制传输;支持长连接和完全多路复用,即支持在一个TCP连接中可完成多次http请求和响应,且不用按照顺序一一对应;还支持网页头部压缩和允许服务端主动推送;
http3.0:基于UDP协议实现,具有更高的传输效率(随着网络技术的提升,udp的稳定性已经完全可以通过应用程序保障了)。
2)http请求方法
GET | 发送查询资源请求,用于查询、读取或下载资源 |
PUT | 向服务器提交数据,用于修改资源 |
POST | 向服务器提交数据,用于添加资源 |
DELETE | 用于删除资源 |
HEAD | 用于查询网页的头部信息和元数据 |
CONNECT | 建立特殊的连接隧道 |
OPTIONS | 列出可对资源实行的方法 |
TRACE | 追踪请求 - 响应的传输路径 |
3)http响应状态码
正常的响应 2XX(正常) 3XX(重定向)
异常的响应 4XX(客户端请求错误) 5XX(服务端响应异常)
状态码 | 解释 |
200 | 一切正常 |
301 | 永久重定向 |
302 | 临时重定向 |
401 | 账号/密码验证错误 |
403 | 拒绝访问。代表客户端IP/主机名被服务端拉黑了 |
404 | 请求的文件不存在。代表客户端请求的URL文件路径有误,服务器相对应的路径没有该网页文件 |
500 | 服务器内部错误,通常是服务端应用程序有BUG导致 |
502 | 错误网关,网关代理服务器接收到来自服务端返回的无效或错误响应消息导致 |
503 | 服务不可用,代表服务器可能已经过载或正在维护/宕机导致的 |
504 | 网关超时,网关代理服务器无法在超时时间内接收到来自服务端的响应消息导致(后端服务器响应超时) |
4)http请求报文
请求行 :包含请求方法、请求的URL文件路径、http协议版本
请求头 :键值对类型的信息
请求体 :包含向服务器提交的数据
5)http响应报文
响应行/状态行 :包含http协议版本、响应状态及描述
响应头 :键值对类型的信息
响应体 :包含服务器返回的网页数据