沈阳网站建设企业,建立个人网站的目的,做商城网站报价,sae更新wordpress目录 一、什么是HTTP
二、抓包工具
三、请求的首行 URL
四、URL的各部分详细介绍 一、什么是HTTP 现在网页上#xff0c;我们常见的是https,但是在二十年前是以http为主#xff0c;这个协议也叫超文本传输协议#xff0c;文本-字符串#xff0c;“超文本”-图片…
目录 一、什么是HTTP
二、抓包工具
三、请求的首行 URL
四、URL的各部分详细介绍 一、什么是HTTP 现在网页上我们常见的是https,但是在二十年前是以http为主这个协议也叫超文本传输协议文本-字符串“超文本”-图片/视频 HTTP响应:比如搜狗版的HTML这个响应的内容往往是一个html内容 一个网站分为前端后端太多了说不过来 前端html(描述网页的结构,css描述网页的样式,js网页的行为与用户的交互vue esc就不说了 网页上HTMLcss,js都是在浏览器执行的都是访问服务器的时候从服务器下载到浏览器上然后才能显示运行。其他的程序都是要先安装才能够使用网页是随时用随时下载。网页优势服务器随时更新用户就可以用上新版本 劣势性能比较有限很难去有一些复杂操作。 二、抓包工具 抓包工具是一种代理但是代理不仅仅是抓包工具还有很多体现形式。 代理客户端的叫正向代理 代理服务器的叫反向代理 抓包的工具有很多wireshark(功能很丰富但是却很复杂 fiddler抓包工具足以应对大部分场景而且简单方便但是功能比上面少点但是够用 1.直接搜索后安装 有验证码为啥有复杂的验证码互联网上80%带宽是被爬虫消耗的。 2.使用 左侧当前机器上有哪些http数据报交互不仅能抓浏览器而且能抓到所有程序 电脑程序在后台和服务器悄悄的交互有的为了实现某种功能有的偷拿你隐私 右上角是请求的详情 右下角是响应的内容 刚好装完fidder之后默认只能抓到http的数据抓到了https抓不到https(网络上httsp是主流所以需要稍微设置一下让fiddler可以抓到https。 1.点击tools-options-https勾上提示框意思勾选有风险一路yeshttps是加密的要显示先解密要信任保证书。 开了fidder客户端服务器http,https的请求和响应都会在fidder过一遍但有一些东西会影响fidder正确运行 1.https要勾选正确 2.有的代理程序可能和fiddler冲突确保使用fiddler的时候关闭其他代理。 3.有的浏览器插件也可能和fiddler冲突 这个是抓去搜狗主页交互过程上面这些标签页站在不同视角来解析请求和响应HTTP是文本协议IPTCP UDP二进制协议 HTTP加密后是二进制但是我们勾选完毕就恢复成文本了。在这里我们点击row打开响应当前http响应经常会进行压缩节省带宽 http响应的内容通常是HTMLCSSJS 这么看不太直观干脆这么看 GET http://www.sougou.com/HTTP 11.1. //1.首行
······
Accept:text/html,application/xhtml //2.请求头//3.空行
body //4.正文 响应报文 HTTP/1.1 200 ok. //1.首行
Connection //2.响应头//3.空行
body //4正文三、请求的首行 URL GET https://www.sogou.com/HTTP/1.1 GET:方法 https://www.sogou.com:URL请求就是客户端给服务器发起的一个数据这里要明确指出要访问的服务器是啥要访问的服务器资源是什么我们在JDBC中讲过URL是唯一资源定位符用来描述网络上的资源的 HTTP/1.1 :版本号 RFC标准文档TCPUDPIPHTTP等网络协议RFC标准文档有更精准的细节内容 http://user:passwww.example.jp:80/dir/index.html?uid1#ch1 (URL的完整细节 简单来说
协议名//IP地址端口号/路径querystring -querystring是键值对的数据kuid这个东西value则是uid等于的那个东西 http:协议名字协议方案名 user:pass :大部分现在这个地方是不用的所以也不用多介绍 www.example.jp:可以是IP地址也可以是域名也可是外网IP本身唯一也可以是内网访问局域网中的设备还可以是环回IP访问自己 80:服务器端口号 dir/index.html?:访问服务器上哪个资源 uid1查询字符串访问资源带上啥样的参数 ch1:片段标识符 不常见主要文档类文件 这个东西就如同卖烤冷面 http://bhu:18/烤冷面?葱花正常香菜苦苦放醋必须多放 -针对访问资源进行的补充说明查询字符串是键值对的格式键值对之间用分隔键和值之间用分隔键与值之间使用分隔查询字符串以开始。 实践上URL来说上述的几个部分都是可以省略的不是说哪个部分必须得保存IP地址/域省略此时相当于是访问当前服务器的地址。 访问B站主页必须带有bilibili主页的html这个html又回触发一些其他的http请求这些后续触发的http请求就可以省略ip省略IP就相当于用bilibili一样的IP。 四、URL的各部分详细介绍 端口号其实也可以省略常见省略时浏览器会自动加上端口这个端口号表示的是访问目标服务器的是哪个端口 http:端口号80 https:端口号443 知名端口号1-1024都被一些常用的服务器知名的老东西服务器瓜分了因此一个网页部署于服务器的时候往往遵守上述规则把http绑定到8080,https绑定到443浏览器访问你的服务器就不必去多余指定窗口。 其实带层次的路径也能够省略 https://sogou.com/ 如果省略相当于访问的是/ /称为根目录目录是一个树形结构根目录就相当于树根一样服务器提供的资源也是类似于目录结构一样的树形结构来组织的有树那么就会有树根/就是树根-通常根节点就会对立服务器的对应主页约定的规则 查询字符串也可以没有有和没有是看我们后端程序员们决定的 query string中带有一些特殊符号这些特殊符号可能在url本身就有一定含义就导致浏览器/服务器解析失败在c中就属于特殊符号是%2B,假如加号不去切换就可能导致浏览器/服务器解析失败 /?#同理都要转换url的encode的本质转义字符和我们的/n还不一样这种有自己的规则 如c你好 把转换的内容的二进制的每字节都用十六进制表示出来然后每字节前面加一个% 你十六进制是E4BDA0 好:十六进制是E5A5BD 最后会C%2B%2B%E4%BD%A0%E5%A5%BD 经过URL的encode之后此时querystring就不会出现特殊含义的符号浏览器和服务器才可以正常识别