http协议

HTTP协议

超文本传输协议,Hyper Text transfer protocol(发明者:蒂姆.伯纳斯.李)

超文本

 包含超链接(link)和各种多媒体元素的文本,这些超文本文件彼此相连,形成网状(web), 因此又被称为网页(web page),这些链接使用URL表示,文本格式一般

为HTML或HTM

HTTP协议版本

    HTTP 0.9
    HTTP 1.0
    HTTP 1.1 当前最流行,更多的请求方法,更精细的缓存控制,支持持久连接
    HTTP 2.0

URI和URL 

URI:

uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
     
URL:

uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。

格式:https://www.baidu.com/?tn=98010089_dg&ch=12


URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。

采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的资源标识的方式。   

HTTP请求报文的方法

    get  获得请求文件信息的数据内容(下载)
    post 用户提交数据到服务器(上传)
    
    put         明文上传数据(现在很少用)
    head     获取报文首部 
    delete     删除某个资源
    options 查询请求资源都支持什么HTTP方法
    

HTTP返回状态码(status-code)

由3位数字组成
200                请求成功
201                上传文件成功
301                永久重定向(redirect)
302,307        临时重定向(redirect)
304                浏览器缓存
403                请求不到首页,没有权限
404                请求的资源在前端查明不存在
405                请求方法不支持
500                服务器的内部错误,程序错误
502                请求的资源前端有记录指向后端数据库,却找不到后端资源
503                服务暂时不可用
504                请求超时

HTTP的连接类型:

keep-alive
短连接:建立一次tcp的连接,发起一次的HTTP请求,结束,tcp断开
长连接:建立一次tcp的连接,发起多次HTTP的请求,结束,tcp断开

用户访问网站携带的参数,以及服务器返回的参数

(1)General概况
Request URL: https://www.baidu.com/            #请求的URL地址
Request Method: GET                    #请求的方法(获取)
Status Code: 200 OK                    #成功状态码
Remote Address: [2408:80f0:410c:1d:0:ff:b07a:39af]:443    #请求的地址(ipv4或ipv6)
Referrer Policy: no-referrer-when-downgrade        #降级不推荐(从https降级到http)

(2)Request Headers:客户端请求头部信息
Accept: text/html                    #请求的类型
Accept-Encoding: gzip, deflate, br    #是否进行压缩
Accept-Language: zh-CN,zh;q=0.9        #请求的语言
Connection: keep-alive                #TCP长连接
cache-control:max-age=0                #缓存时间
Cookie:                             #客户端缓存,用户密码等网站信息
Host:www.baidu.com/                    #请求的域名
Upgrade-Insecure-Requests: 1        #启用升级https访问
User-Agent: Mozilla/5.0             #客户端浏览器

(3)Response Headers:服务器响应头部信息
Cache-Control: private                    #缓存类型非公开(公开:pubLic)
Connection: keep-alive                    #长连接
Content-Encoding: gzip                    #压缩格式gzip
Content-Type: text/html;charset=utf-8    #文档类型
Date: Sat, 14 Mar 2020 08:48:02 GMT        #响应时间
Expires: Sat, 14 Mar 2020 08:47:42 GMT    #失效时间
Server: BWS/1.1                            #网站服务器软件    
status:200                                #状态码

HTTP统计术语:

PV:页面浏览量
UV:独立客户浏览量
IP:独立ip浏览量
例子:50人,每人通过手机和电脑访问同一网站各两次,全部都用公司宽带上网,会产生多少pv、uv、ip?

 答案:200    100    1      

HTTP协议原理和流程

(1)用户输入域名->浏览器跳转->app缓存->DNS解析(递归查询|迭代查询)
(2)由浏览器向服务器发起tcp连接(三次握手)
(3)客户端发起HTTP请求:
    请求的方法(获取)    
    请求的主机:域名
    请求的资源类型(html)
    请求的端口(80、443)
    请求携带的参数(类型、压缩、认证等)
(4)服务器的响应:
    服务器的web软件
    响应的文件类型
    是否压缩
    是否长连接
(5)客户端向服务器发起tcp断开(四次握手)

10.用户访问网站流程:
(1)客户端发起HTTP请求,抵达网站的前端防火墙
(2)防火墙收到请求,分析判断是否符合规则,将合规流量通过tcp连接负载均衡器,传递用户HTTP请求
(3)负载均衡器收到请求,根据内容和策略进行下发任务,通过tcp连接web服务器,转发用户的HTTP请求
(4)web服务器收到用户的请求之后,解析请求内容:
    静态请求:web服务器向nfs建立tcp连接,获取图片等静态文件,返回给负载均衡器
    动态请求:由web服务器向后端的缓存或数据库建立tcp连接,将用户的动态请求传递给动态程序进行解析
(5)由数据库->动态程序->缓存->web->负载均衡器->防火墙->用户
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值