浏览器协议TCP详解

这篇具有很好参考价值的文章主要介绍了浏览器协议TCP详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

浏览器协议TCP详解

浏览器进程负责存储、界面、下载等管理。在渲染进程中,运行着熟知的主线程、合成线程、JavaScript 解释器、排版引擎等。

  1. 浏览器进程处理用户在地址栏的输入,然后将 URL 发送给网络进程。
  2. 网络进程发送 URL 请求,在接收到响应数据后进行解析,接着转发给浏览器进程。
  3. 浏览器进程收到响应后,发送“提交导航”消息到渲染进程。
  4. 渲染进程开始接收网络进程发送的数据,并进行文档渲染。

http/https 协议

HTTP 协议工作于客户端-服务端架构上。

浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。

Web 服务器有:Apache 服务器,IIS 服务器(Internet Information Services)等。

Web 服务器根据接收到的请求后,向客户端发送响应信息。

HTTP 默认端口号为 80,但是你也可以改为 8080 或者其他端口。
浏览器协议TCP详解,tcp/ip,网络协议,网络

  • 浏览器正确地实现了 HTTPS 且操作系统中安装了正确且受信任的证书颁发机构;
  • 证书颁发机构仅信任合法的网站;
  • 被访问的网站提供了一个有效的证书,也就是说它是一个由操作系统信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告);
  • 该证书正确地验证了被访问的网站
  • 此协议的加密层(SSL/TLS)能够有效地提供认证和高强度的加密。

TCP:

  • 三次握手
  • 四次挥手
  • TCP协议具有以下3种主要特征:
    • TCP协议是面向连接的,在任何数据实施交换之前,首先要在两台计算机之间建立连接进程。
    • 由于使用了序列号和返回通知,TCP协议使用户确信传输的可靠性。
    • TCP协议使用字节流通信号,这意味着数据被当做没有信息的字节序列来对待
    • 缓存策略: 可分为 强缓存 和 协商缓存
  • Cache-Control/Expires : 浏览器判断缓存是否过期, 未过期时, 直接使用强缓存,
    Cache-Control 的 max-age 优先级高于 Expires
  • 当缓存已经过期时,使用协商缓存
  • 唯⼀标识⽅案: Etag ( response 携带) & If-None-Match ( request 携带,上⼀次
    返回的 Etag ): 服务器判断资源是否被修改
  • 最后⼀次修改时间: Last-Modified(response) & If-Modified-Since ( request ,
    上⼀次返回的 Last-Modified )
  • 如果⼀致,则直接返回 304 通知浏览器使用缓存
  • 如不⼀致,则服务端返回新的资源

常见状态码

1xx : 接受, 继续处理
200 : 成功, 并返回数据
201 : 已创建
202 : 已接受
203 : 成为,但未授权
204 : 成功, ⽆内容
205 : 成功, 重置内容
206 : 成功, 部分内容
301 : 永久移动, 重定向
302 : 临时移动, 可使用原有URI
304 : 资源未修改, 可使用缓存
305 : 需代理访问
400 : 请求语法错误
401 : 要求身份认证
403 : 拒绝请求
404 : 资源不存在
500 : 服务器错误

get / post

  • get : 缓存 、请求长度受限 、会被历史保存记录
    无副作用(不修改资源),幂等(请求次数与资源无关)的场景
  • post : 安全 、大数据 、更多编码类型

Websocket

  • Websocket 是⼀个 持久化的协议, 基于 http , 服务端可以 主动 push
  • WebSocket用于在Web浏览器和服务器之间进行任意的双向数据传输的一种技术。WebSocket协议基于TCP协议实现,包含初始的握手过程,以及后续的多次数据帧双向传输过程。其目的是在WebSocket应用和WebSocket服务器进行频繁双向通信时,可以使服务器避免打开多个HTTP连接进行工作来节约资源,提高了工作效率和资源利用率
    兼容:
  • FLASH Socket
  • 长轮询: 定时发送 ajax
  • long poll : 发送 --> 有消息时再 response
事件       事件处理程      描述
open     ws.onopen      连接建立时触发
message  ws.onmessage   客户端接收服务端数据时触发
error    ws.onerror     通信发生错误时触发
close    ws.onclose     连接关闭时触发

实例:

<script>
let mes  = new WebSocket('ws://localhost:8080')
mes.onopen = function(e){
    console.log('开始接通')
    $('.btn-send').click(function(){
        mes.send($('.botton').btn()) // 点击发送
      })
      mes.onmessage = function(msg){ // 监听消息
        $('div').append('<span>'+ msg.data +'</span>')
      }
      $('.btn-close').click(function(){
        mes.close()  //  关闭连接
      })
}
</script>

跨域

亿点小知识:JSONP : 利用 <script>标签不受跨域限制的特点, 缺点是只能支持 get 请求

  • 设置 CORS: Access-Control-Allow-Origin:*
  • postMessag

安全

浏览器安全可分为:
Web 页面安全:同源策略、XSS 攻击、CSRF 攻击
浏览器网络安全:HTTPS

浏览器协议TCP详解,tcp/ip,网络协议,网络

以上就是服务端与网络感谢大家的阅读
如碰到其他的问题 可以私下我 一起探讨学习
如果对你有所帮助还请 点赞 收藏谢谢~!
关注收藏博客 作者会持续更新…文章来源地址https://www.toymoban.com/news/detail-607660.html

到了这里,关于浏览器协议TCP详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解TCP/IP协议第一篇:网络基础知识

    😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月09日
    浏览(58)
  • TCP/IP协议专栏——分片报文详解——网络入门和工程维护必看

    一个链路层数据报能承载的最大数据量称为最大传送单元(MTU)。 因为IP数据报(IP头+DATA)被封装在链路层数据报中,故链路层的MTU严格地限制着IP数据报的长度, 而且在IP数据报的源与目的地路径上的各段链路可能使用不同的链路层协议,有不同的MTU. 例如,以太网的MTU为15

    2024年01月19日
    浏览(64)
  • TCP/IP协议专栏——以太帧结构 详解——网络入门和工程维护必看

    以太网帧发送数据时都是从8个字节的前导码开始的。前导码是1和0的交互。 在以太网中,数据通信的基本单位是 以太网帧 ( frame ),由 头部 ( header )、数据 ( data )以及 校验和 ( checksum )三部分构成: 头部 以太网帧头部包含 3 个字段,依次是: 1、目的地址:长度是 6 字节,用

    2023年04月18日
    浏览(45)
  • 计算机网络之TCP/IP协议第二篇:OSI参考模型详解

    😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月09日
    浏览(53)
  • 详解TCP/IP协议第五篇:详细介绍网络传输中的地址

    😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月07日
    浏览(44)
  • Chrome/Safari 浏览器怎么查看网络请求的 http 协议版本

    通过 Chrome 或者 Safari 浏览器的开发者工具查看网络请求后,发现只能看到 scheme 是 https,但是看不到 http 协议是 1.1 还是 2,亦或者是 http3 查看 http 请求 http 协议版本的方法是:鼠标右键表头中的任何一项,随后勾选上「Protocol」 随后可以看到新增了一列 Protocol,显示了 htt

    2024年02月15日
    浏览(60)
  • 浏览器网络请求——HTTP详解

    HTTP(Hyper Text Transfer Protocol): 超文本传输协议 ,是用层协议,用于从万维网服务器传输超文本到本地浏览器的传送协议。 截至目前,http 经历了原始版本、 http1.0、 http1.1、 http2.0 几个版本,新版本每次出现都针对上一个版本的不足进行加强 1.0 版本有个很大的缺点: TCP连

    2024年02月07日
    浏览(41)
  • 网络编程——TCP/IP协议族(IP协议、TCP协议和UDP协议……)

    1、IP协议简介 IP协议又称 网际协议 特指为实现在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议,是网络层中的协议。 2、特点 不可靠 :它不能保证IP数据包能成功地到达它的目的地,仅提供尽力而为的传输服务 无连接 :IP 并不

    2024年02月13日
    浏览(75)
  • 【网络协议】TCP/IP 协议

    1、TCP/IP 模型 TCP/IP 协议模型,包含了一系列构成互联网基础的网络协议,是 Internet 的核心协议。 基于 TCP/IP 协议栈可分为四层或五层,转换为 OSI 参考模型,可以分为七层,分别如下图所示: 通常我们所说的都是基于 TCP/TP 五层模型。 2、TCP/IP 协议栈每一层功能 应用层:H

    2024年02月12日
    浏览(65)
  • TCP/IP协议详解

    TCP/IP 是 TCP 和 IP 两种协议群的统称,具体来说,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包