首页 > 其他分享 >【学习笔记】HTTP

【学习笔记】HTTP

时间:2022-10-10 15:49:07浏览次数:36  
标签:baidu --- en HTTP 请求 Encoding 笔记 学习

HTTP

 

什么是http

  • HTTP:超文本传输协议,是一个简单的请求-相应协议

    • 超文本:图片、视频、音乐、定位

    • 默认端口:80

  • HTTPS:以安全为目标的HTTP通道,在HTTP的基础上加入了SSL,保证了传输过程的安全性

    • 默认端口:443

 

HTTP的两个时代:

  • http1.0

    • http/1.0:客户端与web服务器连接后,只能获得一个web资源,然后断开连接

  • http2.0

    • http/2.0:客户端与服务器连接后,可以获得多个web资源

 

请求与相应

以访问百度为例

  • 常规

    请求 URL: https://www.baidu.com/
    请求方法: GET
    状态代码: 200 OK
    远程地址: 110.242.68.4:443
    引用者策略: strict-origin-when-cross-origin

     

响应头

Bdpagetype: 2
Bdqid: 0xba83753500003c54
Cache-Control: private        --- 缓存控制
Connection: keep-alive        --- 连接
Content-Encoding: gzip        --- 编码
Content-Type: text/html;charset=utf-8
Date: Mon, 10 Oct 2022 07:09:05 GMT
Expires: Mon, 10 Oct 2022 07:09:05 GMT
Isprivate: 1
Server: BWS/1.1
Set-Cookie: BDSVRTM=368; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=37378_36560_37561_37357_37300_36884_37403_37404_36789_37498_26350_37489_37372_37466; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1665385745235747149813439714583497423956
Transfer-Encoding: chunked
X-Frame-Options: sameorigin
X-Ua-Compatible: IE=Edge,chrome=1

比较重要的:

Cache-Control: private --- 缓存控制 Connection: keep-alive --- 连接 Content-Encoding: gzip --- 编码 Content-Type: text/html;charset=utf-8 --- 类型

 

响应状态码

200:请求成功 200

3xx:请求重定向,即重新定位,

4xx:找不到资源 404

5xx:服务器代码错误 500 502:网关错误

 

重定向:比如微博,如果你去请求一个不存在的资源:12354568.html,它会自动给你跳转到

2F132156dfsf.html,状态码是302,即重定向

具有重定向的网站会进行重定向,不具有重定向的网站则会报出Not Found,状态码是404

 

 

请求头

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cache-Control: max-age=0
Connection: keep-alive
Cookie: BDUSS=hESUJFSjE1SUhQYVlKWGppM0U1emd6aEQ3bXA0bWgxckRYSm1RWHI3b0xYN1JpRVFBQUFBJCQAAAAAAAAAAAEAAABglJtNuf4xMTIyNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvSjGIL0oxiVm; BDUSS_BFESS=hESUJFSjE1SUhQYVlKWGppM0U1emd6aEQ3bXA0bWgxckRYSm1RWHI3b0xYN1JpRVFBQUFBJCQAAAAAAAAAAAEAAABglJtNuf4xMTIyNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvSjGIL0oxiVm; BAIDUID=210604ED9BD399558DAD689C6364778D:FG=1; BIDUPSID=210604ED9BD399558DAD689C6364778D; PSTM=1654758697; BD_UPN=12314753; newlogin=1; ispeed=1; BAIDUID_BFESS=210604ED9BD399558DAD689C6364778D:FG=1; ZFY=kPWtjQDnAB:BFaNV4diq436h8vE0ztKlQ:B4l0nVJlBYI:C; ispeed_lsm=35; delPer=0; BD_CK_SAM=1; PSINO=2; H_PS_PSSID=37378_36560_37561_37357_37300_36884_37403_37404_36789_37498_26350_37489_37372_37466; B64_BOT=1; BA_HECTOR=80ah2h2l85810g84a50l505d1hk7gtb1b; RT="z=1&dm=baidu.com&si=wkpqgm95n&ss=l92fgk8t&sl=3&tt=88a&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=dp3&ul=27ye&hd=281x"; BD_HOME=1; H_PS_645EC=38a9LNYfk1nluIg7d10OwgYiy82vo6lBzGes5XFnxGPc%2B0mzGgQNZlhNNB4; sugstore=0
Host: www.baidu.com
sec-ch-ua: "Chromium";v="106", "Microsoft Edge";v="106", "Not;A=Brand";v="99"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.34

比较重要的:

Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 Cache-Control: max-age=0 Connection: keep-alive

 

请求方式

  • GET、POST、HEAD、DELETE、PUT、TRACT

  • 常用的有get和post

    • get:请求能够携带的参数较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全但高效

    • post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全但不高效,但现在网络今非昔比,所以可以忽略两者的效率差距

标签:baidu,---,en,HTTP,请求,Encoding,笔记,学习
From: https://www.cnblogs.com/wztblogs/p/16775926.html

相关文章

  • k8s笔记
    k8s笔记一、集群管理#查看集群kubectlcluster-info二、node管理#查看nodeskubectlgetnodes#通过标签筛选nodekubectlgetnodes-lgpu=true#给node添加标签kubectl......
  • Internet和HTTP协议
    Internet概念Internet:将不同的计算机网络连接起来,实现不同的计算机网络之间的通信Socket套接字socket:允许位于不同主机(或同一主机)上不同进程之间进行通信和数据交换s......
  • JavaScript高级程序设计笔记04 变量、作用域与内存
    变量、作用域与内存变量特定时间点一个特定值的名称。分类原始值:按值访问复制:两个独立使用、互不干扰引用值(由多个值构成的对象):按引用访问操作对象时,实际上......
  • 你真的会记笔记吗?支持高效分类记笔记的软件
    对于不少上班族或大学生来说,如果想要随手记录笔记内容,使用手机或电脑上的笔记软件是更加便利的。因为与传统的纸质笔记本记录方式相比,使用笔记软件来记录笔记,不仅支持文字......
  • 2022第一次学习任务
    2022第一次学习任务内容比较多:)A.环境配置安装虚拟机(这部分我很早就完成了,具体步骤就不详细说明了)安装vm及Linux系统镜像这一部分步骤比较清晰,主要参考VMware虚拟......
  • 【笔记】分层图DJ
    分层图的题都很麻烦地要在dijkstra外面套个循环,其实可以不用。以经典模板[JLOI2011]飞行路线为例,给DJ的优先队列里面的点加一维状态\(k\),\(f(u,k)\)可以免费转移......
  • stat(1)学习/mystat实现
    stat(1)关于statstat命令主要用于显示文件或文件系统的详细信息,该命令的语法格式如下:-f:不显示文件本身的信息,显示文件所在文件系统的信息-L:显示符号链接-t:简洁模式,只......
  • WEB学习笔记 html篇
    htmlHTML(HyperTextMarkupLanguage)是用来描述网页的一种语言。HTML不是一种编程语言,而是一种标记语言。学习HtML其实就是学习标签。快速入门新建文本文件,后缀名......
  • 吴恩达机器学习复习4:非线性假设、神经和大脑、模型表示1、模型表示2、例子与直觉1、例
    【非线性假设】为什么我们需要神经网络?   因为神经网络不需要大量的为特征设计的内容或有大量特征,,我们可以直接把数据放进进神经网络模型,让它自己进行训练,并做自我......
  • 记一次win10 python -m http.server 启动后无法访问的经历
    前言最近需要在win10上使用python创建一个http文件服务(默认端口8000),结果执行了python3-mhttp.server-b0.0.0.0后,发现服务跑起来了,但浏览器无法访问http://loc......