HTTP请求的完全过程

2022-10-11 22:00:44 155 0
魁首哥

1.1 浏览器根据 域名解析 IP地址

浏览器根据访问的域名找到其IP地址。DNS查找过程如下:

浏览器缓存:首先搜索浏览器自身的DNS缓存(缓存的时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身的缓存中是否是有域名对应的条目,而且没有过期,如果有且没有过期则解析到此结束。

系统缓存:如果浏览器自身的缓存里面没有找到对应的条目,那么浏览器会搜索操作系统自身的DNS缓存,如果找到且没有过期则停止搜索解析到此结束。

路由器缓存:如果系统缓存也没有找到,则会向路由器发送查询请求。

ISP(互联网服务提供商) DNS缓存:如果在路由缓存也没找到,最后要查的就是ISP缓存DNS的服务器。

1.2 浏览器与 WEB服务器 建立一个 TCP 连接

TCP的3次握手。

1.3 浏览器给WEB服务器发送一个HTTP请求

一个HTTP请求报文由请求行( request line)、请求头部(headers)、空行(blank line)和请求数据(request body)4个部分组成。

图1 HTTP请求格式

1.3.1 请求行

请求行分为三个部分:请求方法、请求地址URL和HTTP协议版本,它们之间用空格分割。例如,GET /index.html HTTP/1.1。

1.请求方法

HTTP/1.1 定义的请求方法有8种:GET(完整请求一个资源)、POST(提交表单)、PUT(上传文件)、DELETE(删除)、PATCH、HEAD(仅请求响应首部)、OPTIONS(返回请求的资源所支持的方法)、TRACE(追求一个资源请求中间所经过的代理)。最常的两种GET和POST,如果是 RESTful 接口的话一般会用到GET、POST、DELETE、PUT。

(1)GET

当客户端要从服务器中读取文档时,当点击网页上的链接或者通过在浏览器的地址栏输入网址来浏览网页的,使用的都是GET方式。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,会送给客户端。

使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号‘?’代表URL的结尾与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。通过GET方式传递的数据直接放在地址中,所以GET方式的请求一般不包含“请求内容”部分,请求数据以地址的形式表现在请求行。

地址中‘?’之后的部分就是通过GET发送的请求数据,各个数据之间用‘&’符号隔开。显然这种方式不适合传送私密数据。另外,由于不同的浏览器对地址的字符限制也有所不同,一般最多只能识别1024个字符 ,所以如果需要传送大量数据的时候,也不适合使用GET方式。 如果数据是英文字母/数字,原样发送;如果是空格,转换为+;如果是中文/其他字符,则直接把 字符串 用BASE64加密,得出:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的 ASCII

(2)POST

允许客户端给服务器提供信息较多。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据,这样POST方式对传送的数据大小没有限制,而且也不会显示在URL中。POST方式请求行中不包含数据字符串,这些数据保存在“请求内容”部分,各数据之间也是使用‘&’符号隔开。POST方式大多用于页面的表单中。因为POST也能完成GET的功能,因此多数人在设计表单的时候一律都使用POST方式,其实这是一个误区。GET方式也有自己的特点和优势,我们应该根据不同的情况来选择是使用GET还是使用POST。

图2 HTTP请求方法

2.URL

URL:统一资源定位符,是一种资源位置的抽象唯一识别方法。

组成:<协议>://<主机>:<端口>/<路径>

端口和路径有事可以省略(HTTP默认端口号是80)

3.协议版本

协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1

1.3.2 请求头部

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

请求头部的最后会有一个空行,表示请求头部结束,接下来为请求数据。

1.3.3 请求数据

请求数据不在GET方法中使用,而在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最长使用的请求头部是Cntent-Type和Content-Length。下面是一个POST方法的请求报文:

POST  /index.php HTTP/1.1    请求行

Host: localhost

User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2请求头

Accept: text/html,application/x HTML +xml,application/xml;q=0.9,/;q=0.8

Accept-Language: zh-cn,zh;q=0.5

Accept-Encoding: gzip, deflate

Connection: keep-alive

Referer:

Content-Length:25

Content-Type:application/x-www-form-urlencoded

  空行

username=aa&password=1234  请求数据

1.4 服务器端响应HTTP请求,浏览器得到HTML代码

HTTP响应报文由状态行(status line)、相应头部(headers)、空行(blank line)和响应数据(response body)4个部分组成。

1.4.1 状态行

状态行由3部分组成,分别为:协议版本、状态码、状态码扫描。其中协议版本与请求报文一致,状态码描述是对状态码的简单描述。

1.4.2 响应头部

1.4.3 响应数据

用于存放需要返回给客户端的数据信息。

HTTP/1.1 200 OK  状态行

Date: Sun, 17 Mar 2013 08:12:54 GMT  响应头部

Server: Apache/2.2.8 ( Win32 ) PHP/5.2.5

X-Powered-By: PHP/5.2.5

Set-Cookie: PHPSESSID=c0huq7pdkmm5gg6osoe3mgjmm3; path=/

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache

Content-Length: 4393

Keep-Alive: timeout=5, max=100

Connection: Keep-Alive

Content-Type: text/html; charset =utf-8

  空行

  响应数据

HTTP响应示例<title> </p> <p data-track="67"></head> </p> <p data-track="68"><body> </p> <p data-track="69">Hello HTTP! </p> <p data-track="70"></body> </p> <p data-track="71"></html> </p> <h3><span>1.5 浏览器解析HTML代码,并请求HTML代码中的资源 </span></h3> <p data-track="73">浏览器拿到 <span class="candidate-entity-word" data-gid="14714593">HTML文件 </span>后,开始解析HTML代码,遇到静态资源时,就向服务器端去请求下载。 </p> <h3><span>1.6 关闭TCP连接,浏览器对页面进行渲染呈现给用户 </span></h3> <p data-track="75">浏览器利用自己内部的工作机制,把请求到的静态资源和HTML代码进行渲染,呈现给用户。 </p> <p data-track="77">来源:CSDN </p> </div> <div class="zhi-con-tag"><a href="https://mip.qiaqa.com/tags/dns.html">dns</a><a href="https://mip.qiaqa.com/tags/%E6%B5%8F%E8%A7%88%E5%99%A8.html">浏览器</a><a href="https://mip.qiaqa.com/tags/%E7%BC%93%E5%AD%98.html">缓存</a></div> <div class="zhi-con-action"> <div class="zhi-con-action-item"> <div class="action-button likesBtn" id="likes-149033"><i class="ri-heart-3-line"></i> 喜欢 0</div> <div class="icon-button favsBtn" id="favs-149033"> <i class="ri-star-line"></i> 收藏 </div> <div class="icon-button fenBtn"><i class="ri-share-circle-line"></i> 分享 <div class="fenxme"><span class="menu-arrow"></span> <ul> <li><a href="https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=https://mip.qiaqa.com/php/149033.html&title=HTTP%E8%AF%B7%E6%B1%82%E7%9A%84%E5%AE%8C%E5%85%A8%E8%BF%87%E7%A8%8B&desc=1.1%E6%B5%8F%E8%A7%88%E5%99%A8%E6%A0%B9%E6%8D%AE%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90IP%E5%9C%B0%E5%9D%80%E6%B5%8F%E8%A7%88%E5%99%A8%E6%A0%B9%E6%8D%AE%E8%AE%BF%E9%97%AE%E7%9A%84%E5%9F%9F%E5%90%8D%E6%89%BE%E5%88%B0%E5%85%B6IP%E5%9C%B0%E5%9D%80%E3%80%82DNS%E6%9F%A5%E6%89%BE%E8%BF%87%E7%A8%8B%E5%A6%82%E4%B8%8B%EF%BC%9A%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98%EF%BC%9A%E9%A6%96%E5%85%88%E6%90%9C%E7%B4%A2%E6%B5%8F%E8%A7%88%E5%99%A8%E8%87%AA%E8%BA%AB%E7%9A%84DNS%E7%BC%93%E5%AD%98%EF%BC%88%E7%BC%93%E5%AD%98%E7%9A%84%E6%97%B6%E9%97%B4%E6%AF%94%E8%BE%83%E7%9F%AD%EF%BC%8C%E5%A4%A7%E6%A6%82%E5%8F%AA%E6%9C%891%E5%88%86%E9%92%9F%EF%BC%8C%E4%B8%94%E5%8F%AA%E8%83%BD%E5%AE%B9%E7%BA%B3...&summary=1.1%E6%B5%8F%E8%A7%88%E5%99%A8%E6%A0%B9%E6%8D%AE%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90IP%E5%9C%B0%E5%9D%80%E6%B5%8F%E8%A7%88%E5%99%A8%E6%A0%B9%E6%8D%AE%E8%AE%BF%E9%97%AE%E7%9A%84%E5%9F%9F%E5%90%8D%E6%89%BE%E5%88%B0%E5%85%B6IP%E5%9C%B0%E5%9D%80%E3%80%82DNS%E6%9F%A5%E6%89%BE%E8%BF%87%E7%A8%8B%E5%A6%82%E4%B8%8B%EF%BC%9A%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98%EF%BC%9A%E9%A6%96%E5%85%88%E6%90%9C%E7%B4%A2%E6%B5%8F%E8%A7%88%E5%99%A8%E8%87%AA%E8%BA%AB%E7%9A%84DNS%E7%BC%93%E5%AD%98%EF%BC%88%E7%BC%93%E5%AD%98%E7%9A%84%E6%97%B6%E9%97%B4%E6%AF%94%E8%BE%83%E7%9F%AD%EF%BC%8C%E5%A4%A7%E6%A6%82%E5%8F%AA%E6%9C%891%E5%88%86%E9%92%9F%EF%BC%8C%E4%B8%94%E5%8F%AA%E8%83%BD%E5%AE%B9%E7%BA%B3..." target="_blank" title="分享空间"><i class="ri-qq-fill"></i> 分享空间</a></li> <li><a class="weibo-share" href="https://service.weibo.com/share/share.php?url=https://mip.qiaqa.com/php/149033.html&title=HTTP%E8%AF%B7%E6%B1%82%E7%9A%84%E5%AE%8C%E5%85%A8%E8%BF%87%E7%A8%8B&pic=&appkey=&searchPic=true" target="_blank" title="分享微博"><i class="ri-weibo-fill"></i> 分享微博</a></li> <li><span class="ewm"><img src="https://mip.qiaqa.com/zb_users/theme/ZhiMedia/function/api.php?act=poster&url=https://mip.qiaqa.com/php/149033.html" alt="https://mip.qiaqa.com/php/149033.html" /></span><span>手机扫一扫</span></li> </ul> </div> </div> <div class="action-hai"><span class="haibao" id="149033"><i class="ri-camera-lens-line"></i> 海报</span></div> <div class="action-eyes"><i class="ri-message-2-line"></i> 0 条评论</div> <div class="action-eyes"><i class="ri-eye-line"></i> 155</div> </div> </div> <section class="zhi-prevnext"> <a href="https://mip.qiaqa.com/php/149032.html" title="上一篇:3分钟短文 | Laravel复杂SQL超多WHERE子句,本地作用域你没用过">上一篇:3分钟短文 | Laravel复杂SQL超多WHERE子句,本地作用域你没用过</a> <a href="https://mip.qiaqa.com/php/149035.html" title="下一篇:Phper学C兴趣入门-为什么php手册里说某个字符串函数是二进制安全">下一篇:Phper学C兴趣入门-为什么php手册里说某个字符串函数是二进制安全</a> </section> </div> <div class="zhi-wd-xiang"> <h3>相关文章</h3> <ul> <li><a href="https://mip.qiaqa.com/php/149315.html" target="_blank">Socket.io使用及所有事件详细介绍</a></li> <li><a href="https://mip.qiaqa.com/php/149299.html" target="_blank">10个技巧优化PHP程序Laravel 5框架</a></li> <li><a href="https://mip.qiaqa.com/php/149003.html" target="_blank">使用 curl 从命令行访问互联网</a></li> <li><a href="https://mip.qiaqa.com/php/147936.html" target="_blank">如何区分Cookie、Session、Token</a></li> <li><a href="https://mip.qiaqa.com/php/147915.html" target="_blank">5、session 和 cookie 的作用(必会)</a></li> <li><a href="https://mip.qiaqa.com/php/147614.html" target="_blank">提升Laravel应用性能有哪些</a></li> <li><a href="https://mip.qiaqa.com/php/147427.html" target="_blank">SpringBoot集成JWT实现token验证</a></li> <li><a href="https://mip.qiaqa.com/php/147305.html" target="_blank">“珍爱生命,远离催更”,教你用 Python 自动发送微博,拒绝断更</a></li> <li><a href="https://mip.qiaqa.com/php/147265.html" target="_blank">手把手教你,使用JWT实现单点登录</a></li> <li><a href="https://mip.qiaqa.com/php/146856.html" target="_blank">PHP中数据缓存Redis的简单应用</a></li> </ul> </div> <div class="zhi-wd-comm"> <div class="zhi-wd-comm-count"> <p style="text-align: center;">本站已关闭游客评论,请登录或者注册后再评论吧~</p> </div> <label id="AjaxCommentBegin"></label> <div class="cat-comments"> <label id="AjaxCommentBegin"></label> <label id="AjaxCommentEnd"></label> </div> </div> </div> </div> <div class="zhi-right"> <div class="side-box"> <div class="widget" id="divPrevious"> <h3>最近发表</h3> <ul> <li><a title="雨刮器一般多久换一次" href="https://mip.qiaqa.com/a/218184.html">雨刮器一般多久换一次</a></li> <li><a title="车熄火后开门滴滴响怎么回事" href="https://mip.qiaqa.com/a/218183.html">车熄火后开门滴滴响怎么回事</a></li> <li><a title="车熄火后一开车门就滴滴报警是怎么回事" href="https://mip.qiaqa.com/a/218182.html">车熄火后一开车门就滴滴报警是怎么回事</a></li> <li><a title="A2驾驶证可以自愿降为A3吗" href="https://mip.qiaqa.com/a/218181.html">A2驾驶证可以自愿降为A3吗</a></li> <li><a title="摩托车单摇臂和双摇臂有什么区别" href="https://mip.qiaqa.com/a/218180.html">摩托车单摇臂和双摇臂有什么区别</a></li> <li><a title="途虎养车四轮定位多少钱" href="https://mip.qiaqa.com/a/218179.html">途虎养车四轮定位多少钱</a></li> <li><a title="报考驾校要注意什么 报考驾校前需要了解和注意的" href="https://mip.qiaqa.com/a/218178.html">报考驾校要注意什么 报考驾校前需要了解和注意的</a></li> <li><a title="报考驾校需要什么流程" href="https://mip.qiaqa.com/a/218177.html">报考驾校需要什么流程</a></li> <li><a title="车载蓝牙连接不上手机蓝牙怎么回事" href="https://mip.qiaqa.com/a/218176.html">车载蓝牙连接不上手机蓝牙怎么回事</a></li> <li><a title="车子很久没开启动不了怎么办" href="https://mip.qiaqa.com/a/218175.html">车子很久没开启动不了怎么办</a></li> </ul> </div><div class="widget" id="divzhihotcon"> <h3>热评文章</h3> <ul> <li><a href="https://mip.qiaqa.com/baike/112130.html" title="保利为什么叫央企之王(保利是国企还是央企)">保利为什么叫央企之王(保利是国企还是央企)</a></li><li><a href="https://mip.qiaqa.com/jingyan/16928.html" title="恢复外国人入境时间表(中国取消14天隔离政策了吗)">恢复外国人入境时间表(中国取消14天隔离政策了吗)</a></li><li><a href="https://mip.qiaqa.com/hot/7442.html" title="香港哪些明星是反港分子(已背叛祖国的明星名单)被国家拉入黑名单明星">香港哪些明星是反港分子(已背叛祖国的明星名单)被国家拉入黑名单明星</a></li><li><a href="https://mip.qiaqa.com/jingyan/33703.html" title="身份造假与销售话术(记者卧底世纪佳缘 揭秘“红娘”)">身份造假与销售话术(记者卧底世纪佳缘 揭秘“红娘”)</a></li><li><a href="https://mip.qiaqa.com/jingyan/20393.html" title="PyCharm怎么连接配置mysql数据库?">PyCharm怎么连接配置mysql数据库?</a></li><li><a href="https://mip.qiaqa.com/baike/36524.html" title="如何将cda格式文件转换为mp3格式(cda格式怎么转换成mp3)">如何将cda格式文件转换为mp3格式(cda格式怎么转换成mp3)</a></li> </ul> </div><div class="widget" id="divzhihotart"> <h3>热门文章</h3> <ul> <li><div class="zhihotcon-img"><a target="_blank" href="https://mip.qiaqa.com/baike/112130.html" title="保利为什么叫央企之王(保利是国企还是央企)"><img src="https://mip.qiaqa.com/zb_users/cache/thumbs/a4779cbcdac7ebf6224393945dc33957-260-180-1.jpg" alt="保利为什么叫央企之王(保利是国企还是央企)" /></a></div><div class="zhihotcon-title"><h4><a href="https://mip.qiaqa.com/baike/112130.html" title="保利为什么叫央企之王(保利是国企还是央企)">保利为什么叫央企之王(保利是国企还是央企)</a></h4><p><i class="ri-time-line"></i> 2022-07-06</p></div></li><li><div class="zhihotcon-img"><a target="_blank" href="https://mip.qiaqa.com/jingyan/16928.html" title="恢复外国人入境时间表(中国取消14天隔离政策了吗)"><img src="https://mip.qiaqa.com/zb_users/cache/thumbs/2578fae51899089a615b5ec61a885c5b-260-180-1.jpg" alt="恢复外国人入境时间表(中国取消14天隔离政策了吗)" /></a></div><div class="zhihotcon-title"><h4><a href="https://mip.qiaqa.com/jingyan/16928.html" title="恢复外国人入境时间表(中国取消14天隔离政策了吗)">恢复外国人入境时间表(中国取消14天隔离政策了吗)</a></h4><p><i class="ri-time-line"></i> 2021-06-19</p></div></li><li><div class="zhihotcon-img"><a target="_blank" href="https://mip.qiaqa.com/hot/7442.html" title="香港哪些明星是反港分子(已背叛祖国的明星名单)被国家拉入黑名单明星"><img src="https://mip.qiaqa.com/zb_users/cache/thumbs/44a6f75b2e0362ab2099e5c6777ebfa5-260-180-1.jpg" alt="香港哪些明星是反港分子(已背叛祖国的明星名单)被国家拉入黑名单明星" /></a></div><div class="zhihotcon-title"><h4><a href="https://mip.qiaqa.com/hot/7442.html" title="香港哪些明星是反港分子(已背叛祖国的明星名单)被国家拉入黑名单明星">香港哪些明星是反港分子(已背叛祖国的明星名单)被国家拉入黑名单明星</a></h4><p><i class="ri-time-line"></i> 2021-04-20</p></div></li><li><div class="zhihotcon-img"><a target="_blank" href="https://mip.qiaqa.com/jingyan/33703.html" title="身份造假与销售话术(记者卧底世纪佳缘 揭秘“红娘”)"><img src="https://mip.qiaqa.com/zb_users/theme/ZhiMedia/var/nopic.png " alt="身份造假与销售话术(记者卧底世纪佳缘 揭秘“红娘”)" /></a></div><div class="zhihotcon-title"><h4><a href="https://mip.qiaqa.com/jingyan/33703.html" title="身份造假与销售话术(记者卧底世纪佳缘 揭秘“红娘”)">身份造假与销售话术(记者卧底世纪佳缘 揭秘“红娘”)</a></h4><p><i class="ri-time-line"></i> 2021-12-08</p></div></li><li><div class="zhihotcon-img"><a target="_blank" href="https://mip.qiaqa.com/jingyan/20393.html" title="PyCharm怎么连接配置mysql数据库?"><img src="https://mip.qiaqa.com/zb_users/cache/thumbs/a3b0b48ade92d5e11fe516f869de5d1d-260-180-1.jpg" alt="PyCharm怎么连接配置mysql数据库?" /></a></div><div class="zhihotcon-title"><h4><a href="https://mip.qiaqa.com/jingyan/20393.html" title="PyCharm怎么连接配置mysql数据库?">PyCharm怎么连接配置mysql数据库?</a></h4><p><i class="ri-time-line"></i> 2021-06-29</p></div></li><li><div class="zhihotcon-img"><a target="_blank" href="https://mip.qiaqa.com/baike/36524.html" title="如何将cda格式文件转换为mp3格式(cda格式怎么转换成mp3)"><img src="https://mip.qiaqa.com/zb_users/cache/thumbs/e93e1dd991aafa07edab580414a8e1ea-260-180-1.jpg" alt="如何将cda格式文件转换为mp3格式(cda格式怎么转换成mp3)" /></a></div><div class="zhihotcon-title"><h4><a href="https://mip.qiaqa.com/baike/36524.html" title="如何将cda格式文件转换为mp3格式(cda格式怎么转换成mp3)">如何将cda格式文件转换为mp3格式(cda格式怎么转换成mp3)</a></h4><p><i class="ri-time-line"></i> 2021-12-11</p></div></li> </ul> </div> </div> </div> </div> <div class="zhi-user-modal"> <div class="zhi-user-modal-container"> <ul class="zhi-switcher"> <li><a href="javascript:void(0);">用户登录</a></li> <li><a href="javascript:void(0);">注册新用户</a></li> </ul> <div id="zhi-login"> <form method="post" action="#" class="zhi-form"> <p class="fieldset"> <label class="image-replace zhi-username" for="edtUserName">用户名</label> <input type="text" class="full-width has-padding has-border" placeholder="用户名" id="edtUserName" name="edtUserName" size="20" value="" tabindex="1" /> </p> <p class="fieldset"> <label class="image-replace zhi-password" for="edtPassWord">密码</label> <input type="password" class="full-width has-padding has-border" placeholder="密码" id="edtPassWord" name="edtPassWord" size="20" tabindex="2" /> </p> <p class="fieldset"> <input type="checkbox" name="chkRemember" id="chkRemember" tabindex="98" /> <label for="chkRemember">记住登录状态</label> <a class="fieldsetrig" href="https://mip.qiaqa.com/?user=repass">忘记密码?</a> </p> <p class="fieldset"> <input id="btnPost" name="btnPost" type="submit" value="登录" class="full-width" tabindex="99"/> <input type="hidden" name="username" id="username" value="" /> <input type="hidden" name="password" id="password" value="" /> <input type="hidden" name="savedate" id="savedate" value="1" /> </p> </form> </div> <div id="zhi-singup"> <form method="post" action="#" class="zhi-form" id="formsing"> <p class="zhi-singup-set"> <label class="image-replace zhi-username">用户名</label> <input class="full-width has-padding has-border" id="zhanghao" name="zhanghao" type="text" placeholder="输入用户名"> </p> <p class="zhi-singup-set"> <label class="image-replace zhi-email">邮箱</label> <input class="full-width has-padding has-border" id="email" name="email" type="text" placeholder="输入mail"> </p> <p class="zhi-singup-set"> <label class="image-replace zhi-password">密码</label> <input class="full-width has-padding has-border" id="zpassword" name="zpassword" type="password" placeholder="输入密码"> </p> <p class="zhi-singup-set"> <label class="image-replace zhi-password">确认密码</label> <input class="full-width has-padding has-border" id="repassword" name="repassword" type="password" placeholder="确认密码"> </p> <p class="zhi-singup-set"> <input name="code" type="text" maxlength="6" class="form-control" placeholder="图形验证码" autocomplete="off" required=""> <span class="fieldset-code" style="width:96px;"> <img src="https://mip.qiaqa.com/zb_system/script/c_validcode.php?id=singin" id="singin" onclick="javascript:this.src='https://mip.qiaqa.com/zb_system/script/c_validcode.php?id=singin&tm='+Math.random();" alt="图形验证码"/> </span> </p> <p class="zhi-singup-set"> <input type="checkbox" name="xieyi" id="xieyi" tabindex="98" /> <label for="xieyi">我已阅读并同意 <a href="">用户协议</a></label> </p> <p class="zhi-singup-set"> <input id="btnSin" class="full-width" type="submit" value="注册新用户"> </p> </form> </div> <a href="javascript:void(0);" class="zhi-close-form"></a> </div> </div> <div class="zhiback" id="zhiback"> <div class="askBox"> <div class="ask-group"> <form action="https://mip.qiaqa.com/zb_users/theme/ZhiMedia/function/cmd.php?act=ask" method="POST" id="formask"> <div class="ask-item"> <div class="ask-item-img"> <img src="https://mip.qiaqa.com/zb_users/avatar/0.png?1679403266" alt="" /> </div> <input type="text" id="asktitle" name="asktitle" placeholder="请输入问题标题"> </div> <div class="ask-item"> <textarea name="askcon" id="askcon"> 请输入问题背景及详细信息... </textarea> </div> <div class="ask-footer"> <div class="ask-item-as"> <input type="hidden" name="csrfToken" value="bc624c41dfc2e31f1a272da2526f42c3"> <input type="submit" class="ask-item-btn" value="发布" /> </div> </div> </form> </div> <button aria-label="关闭" type="button" class="ask-close"><i class="ri-close-line"></i></button> </div> </div> <div id="backbox" class="backbox"> <div class="back genight"><i class="ri-sun-fill"></i></div> <div class="back" id="totop"><i class="ri-arrow-up-s-line"></i></div> </div> <div class="zhi-menu-m"> <button type="button" class="btn-close" aria-label="Close"><i class="ri-close-line"></i></button> <div class="logo"> <a href="https://mip.qiaqa.com/"><img src="https://mip.qiaqa.com/logo.png" alt="恰卡编程网"/></a> </div> <div class="zhi-menu-search"> <form name="search" method="post" action="https://mip.qiaqa.com/zb_system/cmd.php?act=search"> <input name="q" size="11" class="zhi-menu-search-input" type="text" placeholder="请输入关键词" autocomplete="off"> <button class="zhi-menu-search-submit" type="submit"><i class="ri-search-2-line"></i></button> </form> </div> <nav id="mnav"></nav> </div> <footer class="zhi-footer"> <div class="inner"> <div class="zhi-footer-center"> <div class="footer-center-left"> <p class="footer-center-info"> 恰卡编程网--程序员编程资料和编程经验分享平台,从入门到进阶,非常详细。学习Java级其他网络编程语言的人很多,借助本站教程,相信你能很快精通并出类拔萃。 </p> </div> <div class="footer-center-right"> <div class="footer-center-weixin"> <img src="https://mip.qiaqa.com/zb_users/theme/ZhiMedia/include/ewm.png" alt="微信公众号"/> </div> <div class="zhi-footer-tubiao"> <ul> <li> <a href="https://weibo.com/" target="_blank"><i class="ri-weibo-fill"></i></a> </li> <li> <a href="http://wpa.qq.com/msgrd?v=3&uin=5733401&site=im.qq.com&menu=yes" target="_blank"><i class="ri-qq-fill"></i></a> </li> <li> <a href="mailto:5733401@qq.com"><i class="ri-mail-line"></i></a> </li> </ul> </div> </div> </div> <div class="zhi-footer-bottom"> <p>Copyright © 2018-2022 恰卡网 qiaqa.com 版权所有 <a rel="nofollow" class="ico-ico" href="http://www.beian.gov.cn/portal/recordQuery?token=9c5a0517-c8ae-4a6b-b2c7-0dbf41cd45f0" target="_blank">苏ICP备18042295号</a> </p> </div> </div> </footer> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?a88faa5532b1e037da0ed2f1324c3674"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(bp, s); })(); </script><link href="https://mip.qiaqa.com/zb_users/theme/ZhiMedia/style/css/fanbox.css" rel="stylesheet" type="text/css" /> <script src="https://mip.qiaqa.com/zb_users/theme/ZhiMedia/script/lightbox.js"></script> <script src="https://mip.qiaqa.com/zb_users/theme/ZhiMedia/script/jquery.form.js"></script> <script src="https://mip.qiaqa.com/zb_users/theme/ZhiMedia/script/zhimedia.js?v=1.3.3"></script> </body> </html><!-- 缓存生成时间: 2023-03-21 20:54:26 by ZBlogCache 0.02 ms , 0 query , 841kb memory , 0 error -->