网络传输协议(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 相关文章推荐
javascript 获取所有id中包含某关键字的控件的实现代码
Nov 25 Javascript
window.dialogArguments 使用说明
Apr 11 Javascript
JS去除数组重复值的五种不同方法
Sep 06 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
Dec 17 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
Mar 16 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
Oct 16 Javascript
每天一篇javascript学习小结(基础知识)
Nov 10 Javascript
jQuery生成假加载动画效果
Dec 01 Javascript
jquery滚动条插件(可以自定义)
Dec 11 Javascript
js制作可以延时消失的菜单
Jan 13 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
详解如何使用webpack+es6开发angular1.x
Aug 16 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使用xmllint命令处理xml与html的方法
2014/12/15 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
2016/03/15 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
2016/06/30 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
javascript 打印内容方法小结
2009/11/04 Javascript
Checbox的操作含已选、未选及判断代码
2013/11/07 Javascript
理解JavaScript原型链
2016/10/25 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
2018/07/31 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
美国在线咖啡、茶和餐厅供应商:LollicupStore
2018/05/04 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
this关键字的含义
2015/04/08 面试题
Python文件操作的面试题
2013/06/22 面试题
初二生物教学反思
2014/02/03 职场文书
工程售后服务承诺书
2014/05/21 职场文书
西游记读书笔记
2015/06/25 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
Nginx缓存设置案例详解
2021/09/15 Servers
Nginx利用Logrotate实现日志分割
2022/05/20 Servers