zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    HYSBZ 1797 Mincut 最小割
    CodeForces 820B + 821C
    Codeforces 817+818(A~C)
    codeforces 816B Karen and Coffee (差分思想)
    840. Magic Squares In Grid ——weekly contest 86
    Linux 环境下 C++ 的开发编译
    838. Push Dominoes —— weekly contest 85
    836. Rectangle Overlap ——weekly contest 85
    六度空间
    835. Image Overlap —— weekly contest 84
  • 原文地址:https://www.cnblogs.com/yinwu/p/11517984.html
Copyright © 2011-2022 走看看