热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浏览器与服务器在网站访问过程中的数据交互分析

本文分析了浏览器与服务器在网站访问过程中基于HTTP协议的数据交互机制。HTTP协议具有轻量级和高效通信的特点,主要通过GET、HEAD和POST方法进行数据传输。其“请求-响应”模式确保了数据交互的有序性和可靠性,同时支持多种数据格式和内容类型,为现代Web应用提供了坚实的基础。

 

一、HTTP协议特点:

HTTP服务器的程序规模小,通信速度快;只需传送GET/HEAD/POST方法和路劲。

HTTP的“请求-响应”工作方式会使页面不断刷新,AJAX技术可只刷新和处理网页的一部分局域。

Connection:浏览器与服务器之间的数据传输通道。一般在请求结束时关闭,不会保持连接。

Request:浏览器向服务器请求

Response:服务器响应浏览器请求

 

 需注意的一点是:每个资源都是一个单独的请求:浏览器先请求和接收主页面数据,再请求和接收js/css/jpg/ashx等资源!!

 

三、服务器返回的响应信息:

 

小重点:

①每个资源都是一个单独的请求:浏览器先请求和接收主页面信息,再请求和接收js/css/jpg/ashx等资源。

②js/css/jpg/ashx等资源的 请求信息中 包含一条Referer信息:指明资源是来自哪个页面中的请求:

例如_ Referer: http://localhost:3514/被攻击网站/验证码测试.aspx

③当在浏览器地址栏上输入时,是以GET方式请求。

当在页面的文本框输入信息并点提交时,浏览器会以POST方式发送信息,除了上述的类似信息外,在尾段有储存提交信息的ViewState隐藏字段的加密数据地址,其内标明了提交的元素及值。

④每个资源的请求会重复发送一些相同的信息,因为HTTP是无状态的,不会记住上次请求信息。

 

四、常用HTTP响应码:服务器处理请求的结果。

200 OK

301 Moved Permanently 永久转移

302 Found 临时转移

307 Temporary Redirect临时重定向

400 Bad Request 错误请求

401 Unauthorized 未授权

403 Forbidden 禁止

404 Not Found 页面未找到

500 Intermal Server Error 内部服务器错误

503 Service Unavailable 网站程序占资源过多(访问人数过多),或发生错误过多

 

五、断点续传-原理

当第一次请求 服务器的响应传输中断后,浏览器会再发出一个续传请求,并在头信息中添加一个Range头部指明续传的开始字节点:如 Range : bytes=5275648- 

服务器就会以此字节点开始续传:

Content-Range: bytes 5275648-15143085/15143086  (续传总字节为15143085的数据的15143085/15143086这一段数据)

Content-Length: 9867438 

转:https://www.cnblogs.com/slowsoul/archive/2012/11/18/httpprotocol.html



推荐阅读
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 自 Node.js 6.3 版本起,调试功能已内置在核心模块中,无需额外安装 node-inspector 等工具。通过简单的命令即可启动调试模式,并利用 Chrome 浏览器进行高效的代码调试。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • 本文详细比较了CSS选择器和XPath在Selenium中通过页面结构定位元素的优劣,并提供了具体的代码示例,帮助读者理解两者在不同场景下的适用性。 ... [详细]
author-avatar
咬__唇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有