• Web基础与HTTP协议


    一、Web基础

    1.域名概述

    域名的概念
    IP地址不易记忆

    • 早期使用Hosts 文件解析域名
      主机名称重复
      主机维护困难

    • DNS(域名系统)
      分布式
      层次性

    • 域名空间结构
      根域
      顶级域
      二级域名
      FQDN=主机名.DNS后缀

    2.域名注册

    域名注册是Internet中用于解决地址对应问题的一种方法
    遵循先申请先注册原则
    域名注册步骤

    在这里插入图片描述

    3.网页的概念

    网页:纯文本格式文件,编写语言为HTML,在用户的浏览器中被"翻译"成网页形式显示出来
    网站:由一个一个页面构成的,是多个网页的结合体
    主页:打开网站后出现的第一个网页称为网站主页(或首页)
    域名:浏览网页时输入的网址
    HTTP:用来传输网页的通信协议
    URL:是一种万维网寻址系统
    HTML:用来编写网页的超文本标记语言
    超链接:超链接是将网站中不同网页链接起来的功能
    发布:将制作好的网页上传到服务器供用户访问的过程

    4.HTML概述

    • HTML超文本标记语言
      Hyper Text Markup Language,网页的“源码”,浏览器:“解释和执行”HTML源码的工具

    • HTML文档的结构
      HTML网页,头部部分,标题部分,主体部分, 网页内容,包括文本、图像等

    5.网页基本标签

    • 网页摘要信息的作用
      有利于浏览器解析
      有利于搜索引擎搜索

    6.基本标签

    标签 ,<meta>标签 ,标题标签 ,行控制相关标签 ,范围标签 ,图像标签 ,超链接标签 ,特殊符号</code></p> <h2><a name="t8"></a><a id="HTTP_58"></a>二、HTTP协议</h2> <h4><a name="t9"></a><a id="1HTTP_59"></a>1.HTTP概念</h4> <blockquote> <p>HTML叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。<br> HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为“.html”或“.htm”即可。</p> </blockquote> <h4><a name="t10"></a><a id="2HTML_63"></a>2.HTML的基本标签</h4> <ul><li> <p><strong>HTML 语法规则</strong><br> HTML标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容被标签描述。前标记符由“< XXX>”表示,结尾标记符多了一个“/”,由“< /XXX>”表示。</p> </li><li> <p><strong>HTML 文件结合</strong><br> HTML文件最外层由< html> < /html>表示,说明该文件是用HTML语言描述的。在它里面是并列的头标签(< head>)和内容标签(< body>)。</p> </li><li> <p><strong>HTML 文件结构</strong><br> <code><html></code><br> <code> <head>网页的头部信息</head></code><br> <code><body>网页内容</body></code><br> <code> </html></code></p> </li></ul> <h4><a name="t11"></a><a id="3_77"></a>3.头标签中常用标签</h4> <div class="table-box"><table><thead><tr><th align="center">标签</th><th align="center">描述</th></tr></thead><tbody><tr><td align="center"><code><title></code></td><td align="center">定义了文档的标题</td></tr><tr><td align="center"><code><base></code></td><td align="center">定义了页面链接标签的默认链接地址</td></tr><tr><td align="center"><code><link></code></td><td align="center">定义了一个文档和外部资源之间的关系</td></tr><tr><td align="center"><code><meta></code></td><td align="center">定义了 HTML 文档中的元数据</td></tr><tr><td align="center"><code><script></code></td><td align="center">定义了客户端的脚本文件</td></tr><tr><td align="center"><code><style></code></td><td align="center">定义了 HTML 文档的样式文件</td></tr></tbody></table></div> <h4><a name="t12"></a><a id="4_88"></a>4.内容标签中常用的标签</h4> <div class="table-box"><table><thead><tr><th align="center">标签</th><th align="center">描述</th></tr></thead><tbody><tr><td align="center"><code><table></code></td><td align="center">定义一个表格</td></tr><tr><td align="center"><code><tr></code></td><td align="center">定义了表格中的一行</td></tr><tr><td align="center"><code><td></code></td><td align="center">定义了表格中某一行的一列</td></tr><tr><td align="center"><code><img> </code></td><td align="center">定义了一个图像</td></tr><tr><td align="center"><code><a> </code></td><td align="center">定义了一个超链接</td></tr><tr><td align="center"><code><p></code></td><td align="center">定义了一行</td></tr><tr><td align="center"><code><br></code></td><td align="center">定义了换行</td></tr><tr><td align="center"><code><font></code></td><td align="center">定义了字体</td></tr><tr><td align="center"><code><h1></code></td><td align="center">定义字体大小</td></tr></tbody></table></div> <h2><a name="t13"></a><a id="_101"></a>三、动态网页与静态网页</h2> <h4><a name="t14"></a><a id="1_102"></a>1.静态网页</h4> <p>在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,静态网页是标准的HTML文件,它的文件扩展名是.htm、.html。</p> <p>静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态网页也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字幕等。这些“动态效果”只是视觉上的,与下面将要介绍的动态网页是不同的概念。</p> <h4><a name="t15"></a><a id="2_107"></a>2.动态网页</h4> <p>所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着HTML代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非是修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。动态网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见网页制作格式,而是以.aspx、.asp、.jsp、.php、.perl、.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号——“?”。</p> <p>动态网页是基本的html语法规范与Java、PHP、C#等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。</p> <h4><a name="t16"></a><a id="3_112"></a>3.动态网页和静态网页的区别</h4> <p>静态网页和动态网页的区别在于内容是否可以随时更新、是否有交互性。静态网页的内容和排版是固定不变的,用户只能浏览内容,无法进行交互;而动态网页的内容和排版可以随时更新修改,用户可以进行交互并获取实时信息。</p> <p>静态网页的优点是页面加载速度快,但内容不易更新;动态网页的优点是内容可以随时更新,但页面加载速度相对较慢。因此,在设计网站时,应根据网站的需要和用户需求来选择静态网页或动态网页。</p> <h4><a name="t17"></a><a id="4_116"></a>4.动态网页语言</h4> <p>早期的动态网页主要采用通用网关接口 CGI(Common Gateway Interface)技术,虽然 CGI 技术已经发展成熟而且功能强大, 但由于编程困难、效率低下、修改复杂,所以有逐渐被新技术取代的趋势。</p> <p>目前常用的动态网页编程语言如下:</p> <ul><li> <p><code>PHP</code><br> 即 Hypertext Preprocessor(超文本预处理器),它是当今 Internet 上最为火热的脚本语言,其语法借鉴了 C、Java、PERL 等语言,但只需要很少的编程知识你就能使用 PHP 建立一个真正交互的 Web 站点。</p> </li><li> <p><code>JSP</code><br> 即 Java Server Pages(Java 服务器页面),它是由 Sun Microsystem 公司于 1999 年 6 月推出的新技术,是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术。</p> </li><li> <p><code>Python </code><br> 是一种面向对象、跨平台的动态类计算机程序设计语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的大型项目开发。</p> </li><li> <p><code>Ruby</code><br> 是一种简单快捷的面向对象(面向对象程序设计)脚本语言,在 20 世纪 90年代由日本人松本行弘(Yukihiro Matsumoto) 开发,遵守GPL 协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言。</p> </li></ul> <h2><a name="t18"></a><a id="HTTP__133"></a>四、HTTP 协议概述</h2> <blockquote> <p>HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。</p> </blockquote> <h4><a name="t19"></a><a id="1HTTP_136"></a>1.HTTP版本介绍</h4> <blockquote> <p>HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于传输超媒体文档(例如 HTML)的应用层协议。HTTP/1.1 是最常见的版本,但也有其他版本,如 HTTP/0.9、HTTP/1.0、HTTP/2、HTTP/3 等,它们中的大部分都是向下兼容的。</p> </blockquote> <p>(1)<code>HTTP/0.9</code>:已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多信息。<br> (2)<code>HTTP/1.0</code>:这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。<br> (3)<code>HTTP/1.1</code>:引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。<br> (4)<code>HTTP/2.0</code>:完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务器未经请求,主动向客户端发送资源。<br> (5)<code>HTTP/3</code>:基于 QUIC 协议开发,提供更快的连接建立、更好的容错机制和更高的安全性能,是未来互联网的趋势之一。</p> <h4><a name="t20"></a><a id="2HTTP_145"></a>2.HTTP的方法</h4> <blockquote> <p>HTTP 支持几种不同的请求命令,这些命令被称为 HTTP 方法(HTTP method)。每条 HTTP 请求报文都包含一个方法, 告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是 GET、POST、PUT。</p> </blockquote> <div class="table-box"><table><thead><tr><th align="center">方法</th><th align="center">描述</th></tr></thead><tbody><tr><td align="center"><code>GET</code></td><td align="center"><code>对服务器资源获取的简单请求</code></td></tr><tr><td align="center"><code>PUT</code></td><td align="center"><code>向服务器提交数据,以修改数据</code></td></tr><tr><td align="center"><code>DELETE</code></td><td align="center"><code>删除服务器上的某些资源</code></td></tr><tr><td align="center"><code>POST</code></td><td align="center"><code>用于发送包含用户提交数据的请求</code></td></tr><tr><td align="center"><code>HEAD</code></td><td align="center"><code>请求页面的首部,获取资源的元信息</code></td></tr><tr><td align="center">CONNECT</td><td align="center">用于ssl隧道的基于代理的请求</td></tr><tr><td align="center">OPTIONS</td><td align="center">返回所有可用的方法,常用于跨域</td></tr><tr><td align="center">TRACE</td><td align="center">追踪 请求–响应的传输路径</td></tr></tbody></table></div> <p><strong>1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。<br> 2、PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的updat操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。<br> 3、DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作<br> 4、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。</strong></p> <h4><a name="t21"></a><a id="3GET__POST__164"></a>3.GET 和 POST 比较</h4> <div class="table-box"><table><thead><tr><th align="center">GET</th><th align="center">POST</th></tr></thead><tbody><tr><td align="center">GET请求能被缓存</td><td align="center">POST请求不能被缓存</td></tr><tr><td align="center">GET请求会保存在浏览器的浏览纪录里</td><td align="center">POST请求不会保存在浏览器的浏览纪录里</td></tr><tr><td align="center">GET请求有长度的限制</td><td align="center">POST请求没有长度限制</td></tr><tr><td align="center">查询的字符串会显示在URL后缀中,不安全,比如 http://www.test.com/a.php?Id=123</td><td align="center">查询的字符串不会显示在URL中,比较安全</td></tr></tbody></table></div> <h4><a name="t22"></a><a id="4HTTP__172"></a>4.HTTP 状态码</h4> <blockquote> <p>HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3 位数字代码,当浏览器请求某一 URL 时, 服务器根据处理情况返回相应的处理状态。<br> 通常正常的状态码为2xx,3xx(如200),如果出现异常会返回4xx,5xx(如404)。</p> </blockquote> <div class="table-box"><table><thead><tr><th align="center">状态码首位</th><th align="center">范围</th><th align="center">含义</th></tr></thead><tbody><tr><td align="center">1xx</td><td align="center">100-101</td><td align="center">信息提示</td></tr><tr><td align="center">2xx</td><td align="center">200-206</td><td align="center">成功</td></tr><tr><td align="center">3xx</td><td align="center">300-305</td><td align="center">重定向</td></tr><tr><td align="center">4xx</td><td align="center">400-415</td><td align="center">客户端错误</td></tr><tr><td align="center">5xx</td><td align="center">500-505</td><td align="center">服务器错误</td></tr></tbody></table></div> <p><code>HTTP 常见状态码</code></p> <div class="table-box"><table><thead><tr><th align="center">状态码</th><th align="center">功能说明</th></tr></thead><tbody><tr><td align="center">200</td><td align="center">一切正常</td></tr><tr><td align="center">301</td><td align="center">永久重定向</td></tr><tr><td align="center">302</td><td align="center">临时重定向</td></tr><tr><td align="center">401</td><td align="center">用户名或密码错误</td></tr><tr><td align="center">403</td><td align="center">禁止访问(客户端IP地址被拒绝)</td></tr><tr><td align="center">404</td><td align="center">请求的文件不存在</td></tr><tr><td align="center">414</td><td align="center">请求URI头部过长</td></tr><tr><td align="center">500</td><td align="center">服务器内部错误</td></tr><tr><td align="center">502</td><td align="center">无效网关</td></tr><tr><td align="center">503</td><td align="center">当前服务不可用</td></tr><tr><td align="center">504</td><td align="center">网关请求超时</td></tr></tbody></table></div> <p><strong>注:产生502(无效网关)的原因<br> 1、数据包没有送到网卡,网络问题;<br> 2、数据包送进去了(交换机能抓到包),但是网卡没收到,网卡问题或防火墙问题;<br> 3、网卡接收到了,处理不了,服务问题。(比如服务器当前连接太多,响应太慢;页面素材太多,带宽不够。)</strong></p> <h4><a name="t23"></a><a id="5HTTP__204"></a>5.HTTP 请求流程分析</h4> <blockquote> <p>用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。</p> </blockquote> <p><mark>请求报文四部分</mark>:<br> <code>请求行</code>:请求行由请求方法、URL 以及协议版本三部分组成。<br> <code>请求头</code>:请求头为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。<br> <code>空行</code>:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。<br> <code>请求体</code>:请求体是请求提交的参数,GET 方法已经在 URL 中指明了参数,所以提交时没有数据。POST 方法提交的参数在请求体中。</p> <p>常用的请求头:</p> <div class="table-box"><table><thead><tr><th align="center">请求头</th><th align="center">描述</th></tr></thead><tbody><tr><td align="center">Host</td><td align="center">接受请求的服务器地址,可以是 IP:端口号,也可以是域名</td></tr><tr><td align="center">User-Agent</td><td align="center">发送请求的应用程序名称</td></tr><tr><td align="center">Connection</td><td align="center">指定与连接相关的属性,如 Connection:Keep-Alive</td></tr><tr><td align="center">Accept-Charset</td><td align="center">通知服务端可以发送的编码格式</td></tr><tr><td align="center">Accept-Encoding</td><td align="center">通知服务端可以发送的数据压缩格式</td></tr><tr><td align="center">Accept-Language</td><td align="center">通知服务端可以发送的语言</td></tr></tbody></table></div> <p><mark>响应报文四部分</mark><br> <code>状态行</code>:状态行由协议版本,状态码,状态码描述三部分组成。<br> <code>响应头</code>:响应头与请求头部类似,为响应报文添加了一些附加信息。<br> <code>空行</code>:响应头部的最后会有一个空行,表示响应头部结束。<br> <code>响应体</code>:服务器返回的相应 HTML 数据,浏览器对其解析后显示页面。</p> <p>常用的响应头:</p> <div class="table-box"><table><thead><tr><th align="center">响应头</th><th align="center">描述</th></tr></thead><tbody><tr><td align="center">Server</td><td align="center">服务器应用程序软件的名称和版本</td></tr><tr><td align="center">Content-Type</td><td align="center">响应正文的类型(是图片还是二进制字符串)</td></tr><tr><td align="center">Content-Length</td><td align="center">响应正文长度</td></tr><tr><td align="center">Content-Charset</td><td align="center">响应正文使用的编码</td></tr><tr><td align="center">Content-Encoding</td><td align="center">响应正文使用的数据压缩格式</td></tr><tr><td align="center">Content-Language</td><td align="center">响应正文使用的语言</td></tr></tbody></table></div> <h4><a name="t24"></a><a id="6HTTP_241"></a>6.HTTP访问的过程</h4> <p>1.<code>建立连接</code>:客户端发送一个请求到服务端,并建立一个 TCP 连接 <mark>(三次握手)</mark>。<br> 2.<code>发送请求</code>:客户端发送一个 HTTP 请求到服务端,该请求包含请求方法,URL 和协议版本等信息,以及可能还包括请求头和请求体信息。<br> 3.<code>处理请求</code>:服务端接收到请求并进行处理,这个过程包括解析请求头和请求体信息,验证请求并进行一些业务处理等。<br> 4.<code>发送响应</code>:服务端发送一个 HTTP 响应到客户端,该响应包含响应状态码,响应头和响应体等信息。<br> 5.<code>接收响应</code>:客户端接收响应,并进行处理,包括解析响应头和响应体信息,验证响应并进行一些业务处理等。<br> 6.<code>关闭连接</code>:客户端和服务端在完成请求和响应后,关闭 TCP 连接 <mark>(四次挥手)</mark>。</p> </div> </div> </li> <li class="list-group-item ul-li"> <b>相关阅读:</b><br> <nobr> <a href="/Article/Index/994504">Libgdx游戏开发(1)——环境配置及demo运行</a> <br /> <a href="/Article/Index/714142">ES6--Promise</a> <br /> <a href="/Article/Index/1688692">泛型中<>和()中的类型</a> <br /> <a href="/Article/Index/1059959">c++四种强制类型转换</a> <br /> <a href="/Article/Index/886284">springboot+微信小程序健康饮食系统毕业设计源码280920</a> <br /> <a href="/Article/Index/1265531">fail-safe 机制与 fail-fast 机制</a> <br /> <a href="/Article/Index/1274146">护网IP去重,去白名单</a> <br /> <a href="/Article/Index/1151582">griffin batch模式代码简单分析</a> <br /> <a href="/Article/Index/1317254">华为WATCH 4系列升级鸿蒙4有哪些新变化</a> <br /> <a href="/Article/Index/998310">Spring Boot的Web开发之Thymeleaf模板引擎的解析及使用(Thymeleaf的基础语法以及常用属性)</a> <br /> </nobr> </li> <li class="list-group-item from-a mb-2"> 原文地址:https://blog.csdn.net/weixin_67300995/article/details/130839462 </li> </ul> </div> <div class="col-lg-4 col-sm-12"> <ul class="list-group" style="word-break:break-all;"> <li class="list-group-item ul-li-bg" aria-current="true"> 最新文章 </li> <li class="list-group-item ul-li"> <nobr> <a href="/Article/Index/1484446">攻防演习之三天拿下官网站群</a> <br /> <a href="/Article/Index/1515268">数据安全治理学习——前期安全规划和安全管理体系建设</a> <br /> <a href="/Article/Index/1759065">企业安全 | 企业内一次钓鱼演练准备过程</a> <br /> <a href="/Article/Index/1485036">内网渗透测试 | Kerberos协议及其部分攻击手法</a> <br /> <a href="/Article/Index/1877332">0day的产生 | 不懂代码的"代码审计"</a> <br /> <a href="/Article/Index/1887576">安装scrcpy-client模块av模块异常,环境问题解决方案</a> <br /> <a href="/Article/Index/1887578">leetcode hot100【LeetCode 279. 完全平方数】java实现</a> <br /> <a href="/Article/Index/1887512">OpenWrt下安装Mosquitto</a> <br /> <a href="/Article/Index/1887520">AnatoMask论文汇总</a> <br /> <a href="/Article/Index/1887496">【AI日记】24.11.01 LangChain、openai api和github copilot</a> <br /> </nobr> </li> </ul> <ul class="list-group pt-2" style="word-break:break-all;"> <li class="list-group-item ul-li-bg" aria-current="true"> 热门文章 </li> <li class="list-group-item ul-li"> <nobr> <a href="/Article/Index/888177">十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!</a> <br /> <a href="/Article/Index/797680">奉劝各位学弟学妹们,该打造你的技术影响力了!</a> <br /> <a href="/Article/Index/888183">五年了,我在 CSDN 的两个一百万。</a> <br /> <a href="/Article/Index/888179">Java俄罗斯方块,老程序员花了一个周末,连接中学年代!</a> <br /> <a href="/Article/Index/797730">面试官都震惊,你这网络基础可以啊!</a> <br /> <a href="/Article/Index/797725">你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法</a> <br /> <a href="/Article/Index/797702">心情不好的时候,用 Python 画棵樱花树送给自己吧</a> <br /> <a href="/Article/Index/797709">通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!</a> <br /> <a href="/Article/Index/797716">13 万字 C 语言从入门到精通保姆级教程2021 年版</a> <br /> <a href="/Article/Index/888192">10行代码集2000张美女图,Python爬虫120例,再上征途</a> <br /> </nobr> </li> </ul> </div> </div> </div> <!-- 主体 --> <!--body结束--> <!--这里是footer模板--> <!--footer--> <nav class="navbar navbar-inverse navbar-fixed-bottom"> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="text-muted center foot-height"> Copyright © 2022 侵权请联系<a href="mailto:2656653265@qq.com">2656653265@qq.com</a>    <a href="https://beian.miit.gov.cn/" target="_blank">京ICP备2022015340号-1</a> </div> <div style="width:300px;margin:0 auto; padding:0px 5px;"> <a href="/regex.html">正则表达式工具</a> <a href="/cron.html">cron表达式工具</a> <a href="/pwdcreator.html">密码生成工具</a> </div> <div style="width:300px;margin:0 auto; padding:5px 0;"> <a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010502049817" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;"> <img src="" style="float:left;" /><p style="float:left;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:#939393;">京公网安备 11010502049817号</p></a> </div> </div> </div> </div> </nav> <!--footer--> <!--footer模板结束--> <script src="/js/plugins/jquery/jquery.js"></script> <script src="/js/bootstrap.min.js"></script> <!--这里是scripts模板--> <!--scripts模板结束--> </body> </html>