炫酷网站有哪些,打电话叫人做网站,手机网站 软件,做网站的步骤视频1. 使用谷歌/火狐浏览器分析 在Web应用中#xff0c;服务器把网页传给浏览器#xff0c;实际上就是把网页的HTML代码发送给浏览器#xff0c;让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP#xff0c;所以#xff1a; HTML是一种用来定义网页的文本#xff0c… 1. 使用谷歌/火狐浏览器分析 在Web应用中服务器把网页传给浏览器实际上就是把网页的HTML代码发送给浏览器让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP所以 HTML是一种用来定义网页的文本会HTML就可以编写网页 HTTP是在网络上传输HTML的协议用于浏览器和服务器的通信。 Chrome浏览器提供了一套完整地调试工具非常适合Web开发。 安装好Chrome浏览器后打开Chrome直接打开网页按F12“”即可 说明 Elements显示网页的结构Network显示浏览器和服务器的通信我们点Network确保第一个小红灯亮着Chrome就会记录所有浏览器和服务器之间的通信 2. http协议的分析 当我们在地址栏输入www.sina.com时浏览器将显示新浪的首页。在这个过程中浏览器都干了哪些事情呢通过Network的记录我们就可以知道。在Network中找到www.sina.com那条记录点击右侧将显示Request Headers点击右侧的view source我们就可以看到浏览器发给新浪服务器的请求 2.1 浏览器请求 说明 最主要的头两行分析如下第一行 GET / HTTP/1.1GET表示一个读取请求将从服务器获得网页数据/表示URL的路径URL总是以/开头/就表示首页最后的HTTP/1.1指示采用的HTTP协议版本是1.1。目前HTTP协议的版本就是1.1但是大部分服务器也支持1.0版本主要区别在于1.1版本允许多个HTTP请求复用一个TCP连接以加快传输速度。 从第二行开始每一行都类似于Xxx: abcdefg Host: www.sina.com表示请求的域名是www.sina.com。如果一台服务器有多个网站服务器就需要通过Host来区分浏览器请求的是哪个网站。 2.2 服务器响应 继续往下找到Response Headers点击view source显示服务器返回的原始响应数据 HTTP响应分为Header和Body两部分Body是可选项我们在Network中看到的Header最重要的几行如下 HTTP/1.1 200 OK200表示一个成功的响应后面的OK是说明。 如果返回的不是200那么往往有其他的功能例如 失败的响应有404 Not Found网页不存在500 Internal Server Error服务器内部出错...等等... Content-Type: text/htmlContent-Type指示响应的内容这里是text/html表示HTML网页。 请注意浏览器就是依靠Content-Type来判断响应的内容是网页还是图片是视频还是音乐。浏览器并不靠URL来判断响应的内容所以即使URL是http://www.baidu.com/meimei.jpg它也不一定就是图片。 HTTP响应的Body就是HTML源码我们在菜单栏选择“视图”“开发者”“查看网页源码”就可以在浏览器中直接查看HTML源码 浏览器解析过程 当浏览器读取到新浪首页的HTML源码后它会解析HTML显示页面然后根据HTML里面的各种链接再发送HTTP请求给新浪服务器拿到相应的图片、视频、Flash、JavaScript脚本、CSS等各种资源最终显示出一个完整的页面。所以我们在Network下面能看到很多额外的HTTP请求。 3. 总结 3.1 HTTP请求 跟踪了新浪的首页我们来总结一下HTTP请求的流程 3.1.1 步骤1浏览器首先向服务器发送HTTP请求请求包括 方法GET还是POSTGET仅请求资源POST会附带用户数据 路径/full/url/path 域名由Host头指定Host: www.sina.com 以及其他相关的Header 如果是POST那么请求还包括一个Body包含用户数据 3.1.1 步骤2服务器向浏览器返回HTTP响应响应包括 响应代码200表示成功3xx表示重定向4xx表示客户端发送的请求有错误5xx表示服务器端处理时发生了错误 响应类型由Content-Type指定 以及其他相关的Header 通常服务器的HTTP响应会携带内容也就是有一个Body包含响应的内容网页的HTML源码就在Body中。 3.1.1 步骤3如果浏览器还需要继续向服务器请求其他资源比如图片就再次发出HTTP请求重复步骤1、2。 Web采用的HTTP协议采用了非常简单的请求-响应模式从而大大简化了开发。当我们编写一个页面时我们只需要在HTTP请求中把HTML发送出去不需要考虑如何附带图片、视频等浏览器如果需要请求图片和视频它会发送另一个HTTP请求因此一个HTTP请求只处理一个资源(此时就可以理解为TCP协议中的短连接每个链接只获取一个资源如需要多个就需要建立多个链接) HTTP协议同时具备极强的扩展性虽然浏览器请求的是http://www.sina.com的首页但是新浪在HTML中可以链入其他服务器的资源比如img srchttp://i1.sinaimg.cn/home/2013/1008/U8455P30DT20131008135420.png从而将请求压力分散到各个服务器上并且一个站点可以链接到其他站点无数个站点互相链接起来就形成了World Wide Web简称WWW。 3.2 HTTP格式 每个HTTP请求和响应都遵循相同的格式一个HTTP包含Header和Body两部分其中Body是可选的。 HTTP协议是一种文本协议所以它的格式也非常简单。 3.2.1 HTTP GET请求的格式 GET /path HTTP/1.1Header1: Value1Header2: Value2Header3: Value3 每个Header一行一个换行符是\r\n。 3.2.2 HTTP POST请求的格式 POST /path HTTP/1.1Header1: Value1Header2: Value2Header3: Value3 body data goes here... 当遇到连续两个\r\n时Header部分结束后面的数据全部是Body。 3.2.3 HTTP响应的格式 200 OKHeader1: Value1Header2: Value2Header3: Value3 body data goes here... HTTP响应如果包含body也是通过\r\n\r\n来分隔的。 请再次注意Body的数据类型由Content-Type头来确定如果是网页Body就是文本如果是图片Body就是图片的二进制数据。 当存在Content-Encoding时Body数据是被压缩的最常见的压缩方式是gzip所以看到Content-Encoding: gzip时需要将Body数据先解压缩才能得到真正的数据。压缩的目的在于减少Body的大小加快网络传输。 本文转自https://blog.csdn.net/qq_26442553/article/details/95031100 作者牛大财有大才 老猿Python跟老猿学Python! 博客地址https://blog.csdn.net/LaoYuanPython 请大家多多支持点赞、评论和加关注谢谢 转载于:https://www.cnblogs.com/LaoYuanPython/p/11166823.html