http相关总结

1 篇文章 0 订阅
1 篇文章 0 订阅
	http过程
    1.redirect
    2.app cache
    3.dns解析
    4.tcp链接
    5三次握手过程
    6发起Http请求
    7响应Http请求并得到HTML代码
    8浏览器解析HTML代码
    9浏览器对页面进行渲染呈现给用户
网络协议分层
五层模型
    应用层:为应用软件提供很多服务,构建于tcp协议之上,屏蔽了传输相关细节
    传输层:向用户提供可要端到端的服务,向高层屏蔽下层数据通信的细节tcp和udf,数据太大要封包,封片
    网络层:数据节点之间传输创建逻辑链路(如何查到相关地址)
    数据链路层:通信实体间建立数据链接
    物理层:定义物理设备如何传输数据
http发展历史http并发数?
    最初0.9
        只有get,没有header.
        
    1.0版本
        增加了很多命令post等
        增加header,code status
        增加了缓存
    1.1
        持久链接
        pipeline 
        增加了host和其他一些命令
        通过字符串传输
    http2
        数据以 二进制传输
        发送请求不需要按照顺序来
        头信息压缩以及推送等提高效率的功能
        服务端还可以主动发送、推送是并行的不是串行的
http 三次握手
    http -->tcp connection-->服务器
    http:不存在链接概念的, 只有请求和响应的(他是数据包),经过传输通道的,这个通道在tcp里面
    tcp:他是可以发送多个http,tcp链接三次握手是非常消耗的,
    http2:http2是可以并发的
    三次握手
        SYN:同步序列编号,ACK=确认号字符 SEQ=序号
        1.客户端向服务端发送 SYN=1,Seq=x
        2.服务端是客户端发送 syn =1,ack=x+1 seq =y
        3.客户端向服务端发送 ACK=Y+1,seq=Z
    为什么要三次握手
        防止服务端开启无用的链接,减少服务器开销
            网络传输是有延时可能会丢失数据包,而且客户端到一定时间就会关闭
URL,URI,URN区别 
    URI:包含url和urn,统一资源标志符:识别这些位置用来标识互联网的信息资源
    URN:永久统一资源定位符 资源移动还能找到
    URL:统一资源定位器 http://
HTTP头信息及相关介绍
    general首行

    Access-control-Allow-Origin:"*"
    Access-control-Allow-Header:""预请求
    Access-control-ALLow-Methods:""
    Access-Control-Max-Age:""请求跨域最长时间
    为什么要跨域:保证安全

    允许content-type
        text-plagin
        application/x-ww-form-urlencoded
        multipat/form-data
    
http缓存
    Cache-Control
        public:http经过地方都可以缓存
        private:发起请求浏览器才可以缓存
        no-cache:本地可以存缓存但是要经过服务器端验证之后才可以使用
        到期
            max-age
            s-maxage:在代理服务器才会生效
            ma-stale:虽然缓存已经过期了,但是在max-stale时间内还是可以请求的
        重新验证
            must-revalidate:当时间过期是必须向服务器端
            proxy-revalidate::用在缓存服务器
        其他
            no-store:不能缓存
            no-transform:不允许压缩等
    缓存验证头
        last-modified
            上次修改时间
            配合if-modifiled-since或者if-unmodified-since
            请求资源返回上面有header中last-modified指定了一个时间,在下次请求就会用带上last-modified,通过if-modified-since带来的值对比这个值若是一样就可以告诉浏览器可以使用缓存
        Etag 更加严格验证
            数据签名 :资源只要有任何修改就会不一样(用hash计算得到一个唯一值)
            配合if-Match或者if-non-match
                对比资源签名判断是否是否用缓存
cookie或者sessiion
    cookie
        键值对
        下次请求就可以带上,cookie是返回多个
        属性
            max-age和expires设置过期时间
            Secure只有https的时候才可以发送
            httpOnly无法通过document.cookie
短连接和长链接
    connection:
        tcp限制并发:最多会有6个
        保证长连接
        connection:keep-alive
数据协商
    请求accept我想要什么数据类型
        accept-encoding:服务端压缩方式gzip
        accept-language:要什么语言
        user-Agent:浏览器相关信息,对于pc端的user-Agent和移动端浏览器是不一样的,还有就是适应不同的浏览器
    响应content-type
        content-type:返回的数据格式
        content-Encoding:
        content-Language:
    SIZE
    上面header和body还有首行的信息
    下面body  
http的redirector
    当资源移动时,他会告诉浏览器搬到那个地方

http优化
    利用负载均衡优化和加速HTTP应用
    利用HTTP Cache来优化网站
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值