网络传输协议(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与Prototype并存的冲突的解决方法
Aug 29 Javascript
JavaScript中获取未知对象属性的代码
Apr 27 Javascript
IE 当eval遇上function的处理
Aug 09 Javascript
邮箱下拉自动填充选择示例代码附图
Apr 03 Javascript
Jquery中find与each方法用法实例
Feb 04 Javascript
在JavaScript中操作时间之setYear()方法的使用
Jun 12 Javascript
CSS javascript 结合实现悬浮固定菜单效果
Aug 23 Javascript
jQuery仿京东商城楼梯式导航定位菜单
Jul 25 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
Feb 17 Javascript
jQuery布局组件EasyUI Layout使用方法详解
Feb 28 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
Mar 07 Javascript
Javascript文本框脚本实现方法解析
Oct 30 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
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
js window.onload 加载多个函数的方法
2009/11/02 Javascript
javascript 得到变量类型的函数
2010/05/19 Javascript
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
python中from module import * 的一个坑
2014/07/20 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
python中的&&及||的实现示例
2019/08/07 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
纽约和芝加哥当天送花:Ode à la Rose
2019/07/05 全球购物
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
医学实习生自我鉴定
2013/12/12 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL
python缺失值填充方法示例代码
2022/12/24 Python