什么是http协议
协议可以理解为一种规范,超文本传输协议。
网络调试助手(服务器|客户端)
windows下载链接:https://hero123.oss-cn-shanghai.aliyuncs.com/kecheng_soft/py/NetAssist.exe
链接写百度给百度要,链接写本地给本地要,域名自动会变成ip地址。
网络调试助手:TCP服务器、127.0.0.1、8080、开启
本地计算机(所有本地计算机)IP:127.0.01
访问的时候:127.0.01:8080
浏览器——服务器发送的数据
GET / HTTP/1.1
Host: 127.0.0.1:8080
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.8
get:向服务器要
/ :表示向服务器要什么资源 访问的时候:127.0.01:8080/a/b.html
Host:服务器的IP地址和端口,浏览器请求的目标是哪个IP和端口
connection:长链接
Accept:浏览器可以接受的数据格式
User-Agent:浏览器的身份证
Accept-Encoding:浏览器能接受的压缩格式
Accept-Language: 浏览的所要的语言
服务器——浏览器回馈的数据
谷歌浏览器的检查中:选择元素,选择设备,清空记录、刷新
通用的描述
Request URL:https://www.baidu.com/
Request Method:GET
Status Code:200 OK
Remote Address:61.135.169.125:443
Referrer Policy:no-referrer-when-downgrade
回应和请求都有view source 协议就是规定了如何请求如何访问。
服务器的回应
HTTP/1.1 200 OK 200状态码 指ok /404指资源没有 file not fount (必须得有的)
Bdpagetype: 1
Bdqid: 0x98bb43eb000d3873
Cache-Control: private
Connection: keep-alive 长链接
Content-Encoding: gzip 压缩格式
Content-Type: text/html 内容类型
Cxy_all: baidu+ae2935af898930e6daa77d70c3ce07df
Date: Fri, 13 Dec 2019 03:38:31 GMT 服务器当前的是时间
Expires: Fri, 13 Dec 2019 03:37:49 GMT
Server: BWS/1.1 百度服务器的简称
Set-Cookie: delPer=0; path=/; domain=.baidu.com 服务器向浏览的传递的
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=0; path=/
Set-Cookie: H_PS_PSSID=; path=/; domain=.baidu.com 每次访问的时候都会
Strict-Transport-Security: max-age=172800
Traceid: 1576208311276528410611005464791007180915
Vary: Accept-Encoding
X-Ua-Compatible: IE=Edge,chrome=1
Transfer-Encoding: chunked
上面叫做头(空行隔开)
下面的叫body(展示的内容)
<!doctype html>
几百行
浏览器的请求(客户端告诉服务端)
GET / HTTP/1.1 http的协议版本1.1 请求行
Host: www.baidu.com 请求头(字段名:字段值)
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 (浏览器的身份证)
Upgrade-Insecure-Requests: 1 升级不安全的请求:把http请求转化为https请求
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8
Accept-Encoding: gzip, deflate, br 压缩页面,为了提升效率
Accept-Language: zh-CN,zh;q=0.8 q权重的意思,更愿意接受怎样的数据。
Cookie: BAIDUID=54BE6E06E10665827B0D38432DFB0DB6:FG=1; BIDUPSID=54BE6E06E10665827B0D38432DFB0DB6; PSTM=1571634653; BD_CK_SAM=1; PSINO=2; H_PS_645EC=ce55VazGiq1Mtu3LnB1xEnBEWcFmL66GLLjWpEZ6mZ0EI9eWpxpNCKiCMB0; rsv_i=b5364zev%2B8%2B2mfPGArGQXFLHDYXYGchx7QCVQ8oVZLDF8QXEblcOURZg25hsEwS%2B7a9S3wp%2FvyJD4Mj%2B2mPry2RURVMtIT4; FEED_SIDS=689481_1213_10; H_WISE_SIDS=138559_136722_132920_128698_138180_139402_128070_139148_120168_139129_133995_138878_137985_132911_137690_131247_132552_137745_131517_118889_118863_118845_118835_118795_136687_107316_138882_136430_138844_136863_138146_138114_136196_124627_137105_139273_139400_133847_138477_137734_138343_137467_138565_134256_138650_131423_139253_139247_136165_138450_136413_136034_110085_137439_127969_138619_139162_138837_139508_139409_127417_138313_137186_136635_138425_138562_136718_138942_138249_138317_139222_138754; SE_LAUNCH=5%3A26270137_0%3A26270137; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; delPer=0; BD_HOME=0; H_PS_PSSID=; BD_UPN=12314753
cookie:保存用户的个人信息:对方服务器希望用户保存的信息(保存在浏览器本地) 使用符号加空格分开,只关注name和value的值
图片: https://uploader.shimo.im/f/hylCGPzifr4AFCjn.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NDUwMDIxMDIsImciOiJkajNyclZIaFZ3SEpKM1lqIiwiaWF0IjoxNjQ1MDAxODAyLCJ1c2VySWQiOjIyNTcyMjc0fQ.eN2SIRAapY3xgiviUfFxO42_sb8mK27_hHsdSgREXj4
sission:(保存在服务器中)
get请求没有请求体,post请求才有请求体。
post请求应用场景:提交form表单,传输大文本(比如1000个字段,因为不能放在url中)、使用百度翻译的时候。
访问的时候:127.0.01:8080
GET / HTTP/1.1 /表示主页
Host: 127.0.0.1:8080
http:超文本传输协议,默认的端口是80
https:更加安全,默认端口是443
我们写了一个url地址,但是加载的时候却有许多url地址,这是怎么回事?
这是因为,第一个url在加载的时候,里面有由其他的url,比如js、css的链接等,都需要进行加载。加载的时候还有很多图片,所有我们看到会有很多url,然后再通过浏览器进行渲染。
我们看到的网页,就是elements里面的内容,response就是返回的内容。
https://www.baidu.com/s?wd=dd&rsv_spt=1&rsv_iqid=0xb03806130020c94e&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=0&rsv_dl=tb&rsv_sug3=2&rsv_sug1=2&rsv_sug7=101&inputT=1754&rsv_sug4=1810
?号开头,以&符号隔开的都是参数
就像列表使用中括号表示,逗号隔开。