热门标签 | 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



推荐阅读
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 在尝试通过自定义端口部署Spring Cloud Eureka时遇到了连接失败的问题。本文详细描述了问题的现象,并提供了有效的解决方案,以帮助遇到类似情况的开发者。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文详细介绍了Elasticsearch中的分页查询机制,包括基本的分页查询流程、'from-size'浅分页与'scroll'深分页的区别及应用场景,以及两者在性能上的对比。 ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • 在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ... [详细]
  • Spring Boot使用AJAX从数据库读取数据异步刷新前端表格
      近期项目需要是实现一个通过筛选选取所需数据刷新表格的功能,因为表格只占页面的一小部分,不希望整个也页面都随之刷新,所以首先想到了使用AJAX来实现。  以下介绍解决方法(请忽视 ... [详细]
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
  • Linux环境下MySQL的安装与配置
    本文详细介绍了在Linux系统上安装和配置MySQL的步骤,包括安装前的准备工作、下载和解压安装包、初始化数据库、配置文件编辑、启动服务以及设置开机自启动等。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
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社区 版权所有