网络传输协议(http协议)


Posted in Javascript onNovember 18, 2016

概述:指服务器和客户端间进行通信时的约束和规范,客户端与服务端的数据交互并不是杂乱无章的,需要遵照(基于)一定的规范进行

常见的协议:

a) HTTP、HTTPS 超文本传输协议

b) FTP 文件传输协议

c) SMTP 简单邮件传输协议

本文主要介绍http超文本传输协议。

1、HTTP协议

即超文本传输协议,网站是基于HTTP协议的,例如网站的图片、CSS、JS等都是基于HTTP协议进行传输的。HTTP协议是由从客户机到服务器的请求(Request)和从服务器到客户机的响应(Response)进行了约束和规范

常用的请求方式有:GET, POST, PUT, DELETE

2、请求-请求报文:

a)    请求由客户端发起,其规范格式为:请求行、请求头、请求主体。如:

b)     请求报文行: 由请求方式、请求URL和协议版本构成

网络传输协议(http协议)

c)     请求报文头

Host:localhost请求的主机
Cache-Control:max-age=0控制缓存(no-cache| no-store)
Accept:*/* 接受的文档MIME类型
User-Agent:向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识. 浏览器UA 字串的标准格式为: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息
Referer:从哪个URL跳转过来的
Accept-Encoding:可接受的压缩格式

d)     请求报文体:即传递给服务端的数据

注:当以post形式提交表单的时候,请求头里会设置Content-Type: application/x-www-form-urlencoded,而当以get形式请求时不需要这种设置

3、响应-响应报文 :

a) 响应由服务器发出,其规范格式为:状态行、响应头、响应主体

网络传输协议(http协议)

b) 响应头:

Date:响应时间
Server:服务器信息
Content-Length:响应主体长度
Content-Type:响应资源的MIME类型

c) 响应主体:即服务端返回给客户端的内容

d) 状态码:

网络传输协议(http协议)

常见的状态码有:200---服务器成功返回网页、304---文档未修改、403---没有权限、404---请求网页不存在、500---服务器错误、503---服务不可用
说明:客户端与服务器在进行数据传输的时候都是以字节形式进行的,可以理解成是以文本形式传输,这时浏览器就需要明确知道该怎么样来解析这些文本形式的数据,MIME就是明确告知浏览器该如何来处理

 对于http协议还有很多的知识点,本文仅介绍其传输的大概过程。学习并了解其组成,是为了更好的理解 ajax。详情请看---ajax的概述和实现过程,希望对大家有所帮助!

Javascript 相关文章推荐
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
JavaScript实现信用卡校验方法
Apr 07 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
Aug 09 Javascript
Vue.js每天必学之内部响应式原理探究
Sep 07 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
Jan 08 Javascript
js实现图片左右滚动效果
Feb 27 Javascript
详解微信小程序审核不通过的解决方法
Jan 17 Javascript
JointJS流程图的绘制方法
Dec 03 Javascript
详解babel升级到7.X采坑总结
May 12 Javascript
微信小程序云开发(数据库)详解
May 17 Javascript
浅谈javascript如何获取文件后缀名
Aug 07 Javascript
Vue实现返回顶部按钮实例代码
Oct 21 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
Nov 18 #Javascript
Ajax的概述与实现过程
Nov 18 #Javascript
简单谈谈ES6的六个小特性
Nov 18 #Javascript
jQuery post数据至ashx实例详解
Nov 18 #Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
Nov 18 #Javascript
基于jQuery的checkbox全选问题分析
Nov 18 #Javascript
JavaScript动态数量的文件上传控件
Nov 18 #Javascript
You might like
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
js 编程笔记 无名函数
2011/06/28 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
vue实现文件上传功能
2018/08/13 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
浅谈Python中数据解析
2015/05/05 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
python解析含有重复key的json方法
2019/01/22 Python
Flask配置Cors跨域的实现
2019/07/12 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
python打包成so文件过程解析
2019/09/28 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
Python如何获取文件指定行的内容
2020/05/27 Python
html5中svg canvas和图片之间相互转化思路代码
2014/01/24 HTML / CSS
关于运动会的广播稿50字
2014/10/17 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
药品开票员岗位职责
2015/04/15 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
Node与Python 双向通信的实现代码
2021/07/16 Javascript