前端—http协议

一、http协议是什么?

超文本传输协议:HTTP(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相传输数据的规则。

HTTP就是一个通信规则,通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。其实我们要学习的就是这个两个格式!

超文本传输协议的分类:

客户端发送给服务器的格式叫“请求协议”;

服务器发送给客户端的格式叫“响应协议”。

特点:

  • HTTP叫超文本传输协议,基于请求/响应模式的!
  • HTTP是无状态协议。()

请求协议:浏览器访问服务器时遵循的规则

1、GET请求

HTTP默认的请求方法就是GET
     * 没有请求体
     * 数据必须在1K之内!
     * GET请求数据会暴露在浏览器的地址栏中

GET请求常用的操作:
       1. 在浏览器的地址栏中直接给出URL,那么就一定是GET请求
       2. 点击页面上的超链接也一定是GET请求
       3. 提交表单时,表单默认使用GET请求,但可以设置为POST

html:是通信时数据传输格式

由于http的特性时无状态的,所以每次请求时客户端携带cokie去访问服务端

cokie 把会话信息全部保存在客户端

session:是把会话信息放在服务端,客户端保存会话ID,通过会话ID去服务器打开自己的会话信息;

2、post

(1). 数据不会出现在地址栏中
(2). 数据的大小没有上限
(3). 有请求体
(4). 请求体中如果存在中文,会使用URL编码!

响应协议:服务器响应客户端时遵循的标准

响应首行;
响应头信息;
空行;
响应体。

响应状态码

  • 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
  • 404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;
  • 500:请求资源找到了,但服务器内部出现了错误;
  • 302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;
  • 304
  • 当用户第一次请求index.html时,服务器会添加一个名为Last-Modified响应头,这个头说明了
      index.html的最后修改时间,浏览器会把index.html内容,以及最后响应时间缓存下来。当用户第
      二次请求index.html时,在请求中包含一个名为If-Modified-Since请求头,它的值就是第一次请
      求时服务器通过Last-Modified响应头发送给浏览器的值,即index.html最后的修改时间,
      If-Modified-Since请求头就是在告诉服务器,我这里浏览器缓存的index.html最后修改时间是这个,
      您看看现在的index.html最后修改时间是不是这个,如果还是,那么您就不用再响应这个index.html
      内容了,我会把缓存的内容直接显示出来。而服务器端会获取If-Modified-Since值,与index.html
      的当前最后修改时间比对,如果相同,服务器会发响应码304,表示index.html与浏览器上次缓存的相
      同,无需再次发送,浏览器可以显示自己的缓存页面,如果比对不同,那么说明index.html已经做了修
      改,服务器会响应200。
时间: 2024-11-18 11:50:56

前端—http协议的相关文章

前端 http协议 四大特性 web本质 -响应状态码 列表标签 表单操作 form表单 # 44

1.前端简介 1 """""" 2 """前端:""" 3 """和python没有任何关系""" 4 5 1.什么是前端? 6 任何与用户直接打交道的操作界面都可以称之为前端 7 比如 : 电脑界面 手机界面 平板界面 8 9 2.什么是后端? 10 暂时先理解成,幕后操作者 11 不直接与用户打交道 12 13 3.为什么要

自定义协议的编码解码

2015.4.1 wqchen. 转载请注明出处 http://www.cnblogs.com/wqchen/p/4385798.html 本文介绍的是一个自定义协议的编码解码工具的实现. 游戏开发中,前端后端协议一般都会协商定制通信协议的格式,统一格式后用程序脚本对应前端和后端的编程语言,分别生成一份协议的编码和解码方案,便于协议的一致性. 这样的工具有很多,比较出名的是google的protobuf,它可以支持很多种编程语言.我也曾试用过protobuf,看过一点它的实现,protobuf完

Tomcat专题一:tomcat基础之java

Tomcat基础之JAVA 各位小伙伴,从这篇文章开始,接连将有七篇文章来对tomcat这个软件,或者说是WEB容器做一个专题讨论.还是一样的格调,本人不会有意排版,把文章搞的跟专业论文一样,只是想到哪写到哪,尽量写出自己知道的东西. 之所以介绍一下java,是因为tomcat所面向的语言就是java语言,它是java程序的一个解释容器.虽然tomcat自身也实现了一个WEB容器,不但可以解释java程序,也可以解释html语言,但是在生产环境中,约定俗成的都是用tomcat来构建java应用服

XenDesktop 5 SQL Server Mirror事务日志比较大的原因分析

在实施XenDesktop5项目过程中,发现XenDesktop5版本的数据库镜像事务日志很大,在XenDesktop4和XenApp版本中不存在该问题:于是我根据该现象探究XenDesktop5及以上版本镜像数据库事务日志为何如此之大以及我们今后实施的过程中该如何来维护这么庞大的数据库事务日志. 在XenDesktop解决方案中,对数据的处理是由专门的数据库来进行数据存储处理的,而对于数据库的高可用,有3种方式: SQL Mirror Virtual Machine HA(VMware FT)

Exchange Server 2013系列之六:客户端访问服务器角色高可用性概述

客户端访问服务器角色的高可性就是常说的负载平衡技术,负载平衡的两种主要用途:当一个 Active Directory 站点中的某个客户端访问服务器出现故障时,负载平衡可以降低该故障造成的影响:此外,负载平衡可确保每个客户端访问服务器上的负载分配均匀. Exchange Server 2013负载平衡体系较之早期版本发生了改变,Exchange 2010 协议要求相关性,例如客户端计算机上运行的 Outlook.移动设备上运行的 Microsoft Exchange ActiveSync.Micr

接口测试理论

1.什么是接口? 接口就是可以完成指定复杂功能的简单方法. 2.接口在哪里? 接口在程序里,包括内部接口.对外接口.普通接口测试都是测对外接口. (服务端内部互相调用的接口就是内部接口,服务端提供给前端调用的接口就是对外接口) 3.对外接口怎么使用? 前端以协议发送参数给服务端,完成调用. 4.什么是接口测试? 模拟前端发送参数给服务端,校验返回数据,判断接口是否正常. 5.为什么要进行接口测试? 功能测试不够全面.绕过前端验证接口功能.隐私加密安全保障.快速验证服务端质量.无界面测试

混合开发之DSBridge(同时支持Android和iOS)

什么是 Javascript bridge 随着h5的不断普及及优化,以及移动端对动态化的需求越来越大,开发者经常需要在app中嵌入一些网页,然后会在web和native之间进行交互,如传递数据,调用函数,而连接web与native需要一个桥梁,通常称为javascript bridge,项目中选择一个好的javascript bridge也非常重要. Javascript bridge现状 目前github上也有一些开源的,其中使用最广的非WebViewJavascriptBridge.JsB

同盾研发技能表

软性技能 不甘平庸.每个人都有自己的梦想. 向业界和身边优秀的人看齐 从小事做起,并把它做好 代码的逻辑正确无误 代码的执行效率很高 代码的结构清晰易懂 代码的可扩展性良好 重复的工作自动化 积极主动.态度决定一切. 发现工作中的问题及时反馈 自己主动承担把问题解决掉 协调资源推动他人一起解决 勤奋好学.快速掌握一门技术是立足之本. 学会翻墙 曲径:最好的翻墙工具 VPN:云梯VPN VPS:digitalocean.Linode Chrome插件:红杏出墙 善用Google和Stackover

目录--知识详解

python(1)-   初识python python(2)-   python程序的编写简单介绍 python(3)-   循环语句:从最内层跳出多层循环 python(4)-   简单练习:python实现购物车的优化 python(5)-   简单练习:python三级菜单优化 python(6)-   常用快捷键及基础命令 python(7)-   小程序练习:循环语句for,while实现99乘法表 python(8)-   基础数据类型 python(9)-   基础知识刷题 py