7.HTTP协议
1.什么是url?
1.1 URL是统一资源定位符,表示的是一个资源,(图片 文字 视频 音频 等等)
单个资源介绍--图片
那URL的组成部分是由协议, 域名:端口, 路径和文件名
1.2 url组成部分:
http:// www.yinwucheng.com:80 /public/tt.jpeg
协议 主机名称|域名 端口 文件的路径
协议: http https
域名: www.yinwucheng.com
端口: 80 443
路径: /public/tt.jpeg ---> Uri
查询: key=value
2.什么是html?
Html简称Web Page,只不过一个完整的Html页面可能会包含很多个URL的资源。
(反之: 我们也可以理解一个HTML文件是由多个不同的URL资源拼接而成的。)
3.什么是http?
HTTP协议就是将用户请求的HTML页面从一台Web服务器传输到客户端浏览器的一种协议。
Web 上进行数据交换的基础。
4.url html http 之间的关系
一个完整的HTML页面是由N多个Url地址资源组成的,而Http协议是用来传输这种Html文件的。
5.http的工作原理

6.当用户在浏览器输入域名后,会发生哪些操作? dns tcp http


用户-->app cache --> dns --> tcp --> http request --> http response --> tcp
7.抓包分析
8.http请求Headers ?
Request URL: http://10.0.0.7/ #请求的域名
Request Method: GET #请求的方法 获取
Status Code: 200 OK #状态码 200
Remote Address: 10.0.0.7:80 #请求的真实IP地址+端口
Referrer Policy: no-referrer-when-downgrade #TTPS页面引入HTTP资源)时不发送Referrer信息
Accept: text/html,application/xhtml+xml # 接受资源类型
Accept-Encoding: gzip, deflate # 压缩方式
Accept-Language: zh-CN,zh;q=0.9 # 使用语言
Cache-Control: no-cache # 缓存控制
Connection: keep-alive # 保持连接, 长连接
Host: 10.0.0.7 # 请求的域名
Pragma: no-cache # 请求的参数 , no-cache 没有缓存
Upgrade-Insecure-Requests: 1 # 在http和https之间起的一个过渡作用
User-Agent: Mozilla/5.0 # 请求的设备
请求的方法:
GET 获取服务器的资源 看朋友圈
POST 提交数据至服务器 发朋友圈
DELETE 删朋友圈
.......
长连接,短连接基本概述.
短连接 表示的是 http1.0协议时代, 一次连接一次请求,效率较低.
长连接 表示的是 http1.1协议时代, 一次连接,多次请求,效率较高.
http2.0
http3.0
https://http2.akamai.com/demo/http2-lab.html
9.http响应的Headers ?
Connection: Keep-Alive # 保持连接,长链接
Content-Length: 115 # 响应内容的长度
Content-Type: text/html;charset=utf-8 # 响应内容的类型
Date: Thu, 12 Sep 2019 02:12:38 GMT # 响应的日期 GMT+8小时=北京时间
Keep-Alive: timeout=5, max=100 # 长连接超时时间5s,最大100s
Server: Apache/2.4.6 (CentOS) PHP/5.4.16 # 服务器使用的web软件 php java
状态码:
200 ok 正常
301 redirect 跳转 (永久)
302 redirect 跳转 (临时)
304 Not Modified 代表浏览器缓存
401 Authorization Required 验证失败
403 Forbidden 1.权限不足 2.找不到首页
404 Not Found 服务器上没有你想要的的资源
500 服务器错误 ( 可能会碰到 代码 )
502 Bad Gateway 找不到后端服务 nginx --> php
503 非常繁忙,负载过重,导致无法及时响应用户的请求
504 后端服务超时
10.额外headers信息?
user-agent
Referer字段 记录从哪一个页面过来的
Location WEB 服务器告诉浏览器,试图访问的对象已经被移到别的位置了
11.ip pv uv 并发 日活 月活?
并发: 10s 500 * 6 * 60 * 24 = 4320000 430w
假设公司有一座大厦,大厦有100人,每个人有一台电脑和一部手机,上网都是通过NAT转换,每个人刷新网站10次,请问对应的 pv,uv,ip,并发 分别是多少。
ip: 1个 NAT
pv: 100 *2 * 10 = 2000
uv: 100 *2 = 200
并发: 单位时间内(3s 5s 10s) 能够支持多少 请求 200
3ms 5000 3s 单位时间内(10s) 能否支持最大的请求 5000
PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次
UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次
IP(独立IP):即Internet Protocol,指独立IP数。00:00-24:00内相同IP地址之被计算一次
日活:每天的活跃用户数量
月活:一个月内,总的活跃用户数量。在取数据的时候,一定要注意去重。
pv: 100000000 / 24 / 60 / 60 = 1158/s
uv: 10000000
ip: 1000000
7.HTTP协议的更多相关文章
- HTTP协议系列(1)
一.为什么学习Http协议 首先明白我们为什么学习HTTP协议,也就是说明白HTTP协议的作用.HTTP协议是用于客户端与服务器之间的通讯.明白了HTTP协议的作用也就知道了为什么要学习H ...
- 重温Http协议--请求报文和响应报文
http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...
- 协议森林17 我和你的悄悄话 (SSL/TLS协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的 ...
- 协议森林16 小美的桌号(DHCP协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地 ...
- 简约之美Jodd-http--深入源码理解http协议
Jodd 是一个开源的 Java 工具集, 包含一些实用的工具类和小型框架.简单,却很强大! jodd-http是一个轻巧的HTTP客户端.现在我们以一个简单的示例从源码层看看是如何实现的? Http ...
- 【JavaScript】javascript中伪协议(javascript:)使用探讨
javascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行. 比如下面这个死链接: <a href="javasc ...
- SNMP简单网络管理协议
声明:以下内容是学习谌玺老师视频整理出来(http://edu.51cto.com/course/course_id-861.html) SNMP(Simple Network Management ...
- 海鑫智圣:物联网漫谈之MQTT协议
什么是MQTT协议 MQTT(消息队列遥测传输协议)是IBM在1999年专门针对物联网等应用场景来制订的轻量级双向消息传输协议,它主要是为了解决物联网上使用到的设备的互相通信的问题,以及这些设备与后端 ...
- linux-图形化远程管理协议
远程管理控制方式: RDP(remote desktop protocol)协议: telnet: SSH(Secure Shell): RFB(Remote FrameBuffer)协议(图形化远程 ...
- RTP与RTCP协议介绍(转载)
RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.RTP中没有连接的概念,本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完 ...
随机推荐
- C#基础知识总结(二)--泛型
什么是泛型 我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为 ...
- Spring boot 自定义banner的在线制作
目前工作不是很忙,利用闲暇的时间,在给自己不断地充电,提升自己的技术实力. 目前在做一个基于Spring Boot2.x+webmagic+quartz的爬虫项目[hotDog]https://git ...
- 【iOS 】把一些不太重要的任务放在空时执行
-(void)idleNotificationMethod { } -(void)registerForIdleNotification { [[NSNotificationCenter defaul ...
- commons-beanutils.jar使用问题
在导入这个工具包时候 容易存在错误 我总结了一下 有可能的几种错误情况 1.导入的包版本不对 commons-beanutils.jar和commons-logging.jar的版本不对 2.导入的包 ...
- 第六届蓝桥杯java b组第二题
立方变自身 观察下面的现象,某个数字的立方,按位累加仍然等于自身. 1^3 = 1 8^3 = 512 5+1+2=8 17^3 = 4913 4+9+1+3=17 … 请你计算包括1,8,17在内, ...
- 前端面试题——html与css基础篇
整理一波html和css的面试题,侧重基础,希望明天面试能用到~(╥╯^╰╥) 一.HTML部分 1.浏览器页面有哪三层构成,分别是什么,作用是什么? 构成:结构层.表示层.行为层分别是:HTML.C ...
- SpringBootSecurity学习(03)网页版登录添加自定义登录页面
自定义登录页面 前面无论是使用默认配置,还是自定义配置类,都是使用的springboot-security自带的登录页面,自带的登录页面在这个版本虽然设计的非常不错,但是在实际开发中,我们通常还是使用 ...
- Micronaut 微服务中使用 Kafka
今天,我们将通过Apache Kafkatopic构建一些彼此异步通信的微服务.我们使用Micronaut框架,它为与Kafka集成提供专门的库.让我们简要介绍一下示例系统的架构.我们有四个微型服务: ...
- 终端-Linux命令之非交互SSH密码验证-Sshpass
Sshpass是使用SSH所谓的"交互式键盘密码身份验证"以非交互方式执行密码身份验证的工具 通俗来说就是 使用ssh密码登录 是需要在连接时手动输入密码的,没办法明文连接,如下图 ...
- 用OllyDbg爆破一个小程序
用OllyDbg爆破一个小程序 一.TraceMe小程序 TraceMe是对用户名.序列号判断是否合法的一个小程序.我们任意输入一组用户名.序列号进行check判断,结果如下: 二.用OllyDbg对 ...