当前位置: 首页 > news >正文

聊城手机网站建设多少钱扬州网站建设哪个好薇

聊城手机网站建设多少钱,扬州网站建设哪个好薇,威海公司注册,seo培训公司网络原理HTTP 前言HTTPHTTP的工作流程抓包工具抓取HTTP报文HTTP报文格式 请求报文具体细节首行URLURL的基本格式URL encode 方法 报头(header)HostContent-Length 和 Content-TypeUser-Agent#xff08;UA#xff09;RefererCookie#xff08;重要#xff09; 前言 如图UARefererCookie重要 前言 如图HTTP/3.0之前 是基于TCP实现的。到了HTTP3.0版本则是基于UDP实现的 HTTP HTTP全称为 “超文本传输协议”现在最新版本为 HTTP/3.0但主流使用的仍然是HTTP/1.1版本。 什么叫超文本 我们知道文本文件其实就是字符串文件即能在 UTF8/GBK 等码表上找到合法字符的字符串 而超文本文件就不仅仅是字符串还能携带一些图片如HTTP、HTML 超文本之后还有富文本Word文档能够支持的格式更多了~ HTTP的工作流程 HTTP/1.1 采用 持续连接 方式。服务器在发送响应后仍然保持这条连接使同一个客户端(浏览器)和该服务器可以继续在这条连接上传输后续的HTTP请求报文和响应报文。 HTTP还使用了 流水线 工作方式以提高效率。即浏览器在收到HTTP响应报文之前就能够连续发送多个请求报文。这样就能节省很多个RTT时间使得TCP连接中的空闲时间很少。 HTTP的交互是非常经典的 “一问一答” 模式 抓包工具 借助一个抓包工具fiddler 来学习HTTP的报文格式 wireshark功能很全可以抓各种协议数据包但使用起来也相对复杂 fiddler专注于抓取 HTTP 的包 注使用fiddler时需要进行设置因为网络上大部分的请求都是基于 HTTPSHTTPS在HTTP基础上进行了加密安装证书就可以让fiddler对HTTPS的报文进行解密。 注打开一个网站浏览器和服务器之间的 HTTP 交互并不是只有一次通常会有很多次。第一次交互是拿到这个页面的 HTMLHTML还会依赖CSS和JS等HTML被浏览器加载后又会触发一些其他的http请求获取到CSS、js等当执行js时js代码里又可能触发很多的http请求。经过多次这样拉扯之后才会呈现浏览器里所看到的内容。 抓取HTTP报文 随便进入一个网站 蓝色的表示返回的是一个 html这个往往是访问一个网站的入口请求选中这个请求并双击 这个是HTTP请求 这是请求的响应报文 用记事本打卡响应报文内容会看到乱码 这里的数据被压缩成乱码。因为网络传输中带宽是一个比较贵的硬件资源为了节省带宽就可以把响应数据进行压缩一般都是压缩响应请求报文不太需要压缩和解压缩的过程是需要消耗时间和CPU的 解压缩之后就能看到正常的响应内容数据了 注这种灰色的请求与响应是由于浏览器和服务器之间要进行多次网络交互为了提升效率就会把一些固定不变的内容在浏览器本地的硬盘上进行缓存如css、图片、js很少发生改变的数据。保存到硬盘上后后续再请求就可以直接从硬盘上读取数据减少了网络交互的开销。可以使用 ctrl F5 强制刷新强制读取服务器数据 HTTP报文格式 HTTP请求报文格式包含4个部分 首行。首行分为三个部分方法(method)、URL、HTTP的版本号三者用空格分割 请求头Header 从第二行开始红框圈住部分就叫请求头。类似于TCP报头/IP报头携带了重要的属性信息只不过TCP/IP是以二进制携带的HTTP是以文本内容携带 HTTP的请求头部分是通过键值对来组织的Key-Value每个键值对占一行。键和值之间使用 : 加上 (空格) 来分割的。键值对有哪些分别是什么含义都是HTTP协议规定的后续详解。 空行表示一个报文的结束标记 正文(body)http的载荷部分有的http请求有body有些则没有这很正常 HTTP响应报文格式包含4个部分 首行三个部分版本号、状态码、状态码描述 状态码表示这一次请求是成功还是失败失败的原因是什么。 就像卸载Python不开管理员权限就会出现2503/2502状态码 响应头。也是由键值对组成Key-Value通过冒号空格来分割: 空行报文结束标记 正文(body)数据载荷部分 可以看到响应的载荷是html 请求报文具体细节 首行 URL URL唯一资源定位符描述一个网络上的资源位置 URI唯一资源标识符只是一个标识用来区别于其他资源的标识。角度不同有时URI也可以表示URL 这两个东西表示的含义是差不多的严格说URI的范围比URL更广一些。URL特指你这个东西在网络的哪里。 URL的基本格式 协议方案名顾名思义指该网站所用的协议 登录信息已弃用毕竟将用户名、密码直接放在这上面是很不安全的操作 服务器地址由于DNS域名解析系统这里显示的是域名用对应的IP地址也可以访问到 服务器端口号可以指定也可以不写。不带端口号浏览器就会取默认值因为这些服务器都很有名http: 80https: 443 带层次的文件路径标识资源在网络上的位置 想知道资源位置要做的 通过 IP地址 知道服务器在哪通过 端口号 知道对应程序在哪最后通过这个路径知道是访问哪个资源这和之前章节说的 “文件” 又串起来了绝对路径就是表示一个文件知道那个文件在哪 查询字符串针对请求的内容做的补充说明 查询字符串是客户端给服务器传递信息的重要途径也是以键值对的方式来组织的。因为每个网站业务逻辑不同需要补充的信息也是不同的所以键值对的内容都是由程序员自定义的 结合上述的 IP地址、端口号、路径、查询字符串就可以 “精确” 描述出一个网络资源的位置了 片段标识符标识当前页面的某个部分通过不同的片段标识可以完成页面内的跳转。 URL encode 查询字符串(query string)是程序员自动义的键值对。但在URL中本身有些符号具有特殊含义如 / 、: 等如果两者的符号冲突就会导致一些很严重的bug比如网页跳转失败 所以我们就需要对这类特殊符号在自定义的时候将其 “转义” PS对于汉字来说也是要进行转义的汉字的 UTF8/GBK 等编码值可能其中某个字节恰好和某个符号的 ASCII 码值冲突 给一个特殊符号的例子打开包含 C 字样的网站可以看到 %2B%2B因为 在ASCII码表中用 16进制 表示就是 2B并且加上 % 表示这是转义后的内容 再来看看汉字的情况 注网页中的URL看到的就是汉字本身而不是转义后的内容因为网页将它经过了处理一旦将该URL复制粘贴出来就不是汉字而是转义后的内容了 方法 为什么说这些语义仅是作者的一厢情愿 因为别忘了HTTP协议是工作在应用层的这些方法的作用是可以由程序员自定义的。也就是说完全可以用 GET 来上传数据POST 来获取数据。怎么写就靠程序员自行约定了。 报头(header) header 的整体格式是 “键值对” 结构 Host Host表示服务器主机的地址和端口URL里其实也已经有Host了 这里的 Host 与 URL 中的 IP地址、端口等信息绝大部分情况下都是一样的。 少数情况可能不同。 少数情况如使用翻墙代理软件URL中的IP和端口指向的是代理服务器而Host中指向的则是最终服务器 Content-Length 和 Content-Type Content-Length表示 body 中的数据长度 通过这个长度就可以处理 “粘包问题”因为HTTP协议底层是基于TCP实现的 如果是没有 body 的请求 / 响应则直接使用 “空行” 作为数据包之间的分割符。 如果有 body空行就不是结束标记了而是从空行开始读取 body 数据此时就以 Content-Length 来作为数据包之间的边界。 Content-Type表示请求中的 body 的数据格式。body 可以传输很多种格式包括程序员也可以自己约定任意的格式但有些格式是非常常见的需要去了解。 请求中的常见格式 application/jsonbody 就是 json 格式的数据 application/x-www-form-urlencoded称为 “form表单”通过 HTML 中的 form 标签构造出来的一种格式这个格式的特点是把 query string 放到 body 中。这个格式也可以用来上传文件 multipart/form-data主要是上传文件时使用的。这种form表单提交数据的方式越来越少了现在还是 json 偏多 响应中的常见格式 text/plain纯文本 text/htmlhtml text/csscss application/javascriptjs application/json image/png image/jpg … 注正常来说响应报文只要有 body都会有 Content-Type但也有例外如果响应报文确实没有 Content-Type也没有 body此时有些容错能力很强的浏览器也能尽可能将这些数据正确显示出来如 Chrome 浏览器。 User-AgentUA 显而易见UA描述了用户使用啥样的设备进行上网 Referer Referer描述了这个页面是从哪个页面跳转过来的。也就是能知道当前页面的上一级页面是啥 Cookie重要 Cookie一种浏览器本地持久化存储数据的机制即将数据存到硬盘里 浏览器作为计算机应用层软件能否直接读写本地硬盘文件 当然可以系统提供了 API 来操作文件作为一个应用层程序当然可以调用这些 API 了。 那么浏览器上运行的网页能否通过浏览器提供的 API 来读写本地硬盘文件 理论上是可以的但是浏览器禁止了这种做法。因为要保障安全性总不能点进一个网站你的电脑就直接中病毒了吧。 但是有些网站将一些信息保存在浏览器是一种刚需比如登录网站的用户信息。 所以浏览器提供了 Cookie 这样的 API能够有限度地存储数据而不是直接访问本地文件系统。类似于 Cookie 的机制还有 LocalStorage、IndexDB Cookie 也是按照键值对的格式来保存信息。 Cookie最大的作用就是让服务器对这个客户端有一个清楚的认识。 关于 Cookie 的几个重要结论 Cookie 从哪里来 通常都是客户端首次访问服务器服务器返回给浏览器的 Cookie 到哪里去了 Cookie 会存储在浏览器本地主机的硬盘上后续每次访问服务器都会带上 Cookie让服务器对这个客户端的信息有个认识从而返回这个客户端以前在这个页面存留的对应信息 Cookie 中存的是什么 存的是键值对数据同 query string 一样这里的内容是由程序员自定义完成 Cookie 在浏览器中是如何组织的 就跟给数据分目录一样Cookie 是通过域名来分类的。这也好理解每个人在不同的网页上肯定是用不同的账户 Cookie 的作用 用来在客户端保存数据其中最主要的就是保存用户的身份标识。 上传数据给服务器服务器就能返回这个用户对应的数据信息。 PS浏览器中保存的账户密码是另一个保存机制并不是 Cookie。
http://www.zqtcl.cn/news/859578/

相关文章:

  • 贵阳网站建设搜q479185700大学网站栏目建设
  • 开发网站找什么公司吗电影网站域名
  • 网站栏目设计怎么写黑龙江建设网官
  • 网站主页设计素材php企业门户网站模板
  • 管理外贸网站模板wordpress live-2d
  • 哈尔滨优化网站方法网站栏目功能分析
  • diy定制网站wordpress 做表格
  • 怎么建设个网站佛山网站设计
  • 饰品企业网站建设做网站管理系统
  • 网站制作的关键技术网站开发网页设计北京师范大学出版社
  • 南宁北京网站建设网站代理合作
  • 网站备案要多少钱包装设计接单网站
  • 涵江网站建设超市营销型网站建设策划书
  • 无锡定制网站建设织梦笑话网站
  • 网站开发的安全性原则潍坊 logo设计公司
  • 宜春市城乡规划建设局网站网站设计师联盟
  • 重庆施工员证查询网站广告设计专业认知报告
  • 网站建设费用要多少黑糖不苦还做网站么
  • 公司网站改版 目的好知网做网站
  • 华强北手机网站建设哈尔滨网站建设oeminc
  • 公司简介网站模板新浪云存储 wordpress
  • 阿里云个人网站建设威海建设集团网站
  • 湖南城乡住房建设厅网站中石化网站群建设
  • 网站关键词怎么做排名大连网站建设方案案例
  • 西安做网站上海建设资质审批网站
  • 平阳高端网站建设广州凡科公司是外包吗
  • 购物网站项目经验公司的八个主要部门
  • 绿色大气网站模板株洲58同城网站建设电话
  • 网站建设 总体思路福州建设高端网站
  • 做网站需要什么配置北京工信部网站备案查询