web使用超文本传输协议(HTTP,HyperText Transfer Protocol)进行通信。http在1990年左右出现,现在有0.9/1.0/1.1三个版本。在早期的互联网中的一些协议只能传输纯文本或ascii,而http从字面意思可以知道它能承载超文本。

一般先由客户端浏览器发起请求:

请求报文格式:

     请求行:请求方法         统一资源标识符(URI)       http协议版本
请求头部
请求数据

常见的请求方法:

     GET: 请求URI所表示的资源
POST:请求提交数据到服务器
PUT: 把文件上传到URI表示的路径
DELETE:请求删除URI表示的文件
HEAD:请求URI表示的资源的头部
OPTIONS:请求服务器性能信息
TRACE:远程诊断服务器

统一资源标识符格式: 协议://FQDN:端口/资源路径

协议版本:http0.9/1.0/1.1

请求头部

     Accept:可以接受的资源类型
Accept-Charset:可接受的字符编码
Accept-Encoding:解压缩的格式
Accept-Language:浏览器可接受的语言
Connection:是否要持久连接,Keep-Alive或使用http1.1表示持久连接
Content-Length:请求消息正文长度
Host:初始URI的主机和端口
User-Agent:客户端系统类型,浏览器类型

服务器响应报文格式: 

     状态行:http协议版本       响应状态码        状态码描述
响应包头:
响应数据:

常见的响应状态码:

     100:请求的部分已经被接受,客户端继续发送剩下的部分
101:服务器理解了客户端的请求,但是让客户端使用不同的协议来访问
200:请求成功
201:请求已建立
202:请求尚未被处理,可能被处理也可能被拒绝
203:请求已经被处理,但是要响应的内容不在本地
204:请求被处理,但是不需要响应什么内容
301:永久移动到新位置
302:临时移动
400:错误请求,服务器不能理解的语法
401:要身份验证
403:拒绝请求
404:服务器找不到请求的网页
405:禁止该种方法
500:服务器内部错误
501:服务器无法识别该请求
502:代理服务器,无法获取真实服务器的响应
503:服务器暂时不可用
504:代理服务器,没有将请求发到真实服务器
505:服务器不支持请求中所用的http协议版本

响应头部:

     Accept-Ranges:服务器是否支持指定范围请求,及分段请求
Age:从服务器到代理缓存形成的估算时间
Allow:指定请求方法
Cache-Control:可以缓存的类型
Content-Encoding:服务器支持的解压缩格式
Content-Language:响应的语言
Content-Length:响应的长度
Content-Location:请求资源可以用另一个地址
Content-Type:返回的资源类型
Date:原始服务器发出的时间
Server:服务器软件名称
Set-Cookie:设置Cookie

常见的浏览器:IE,Chrome,Firefox,Opera等;常见web服务器:Apache,nginx,tomcat,IIS等

静态网页:html、css、和一些静态图片

动态网页:

1、服务器通过执行程序将数据读写到数据库,处理完后将结果传给客户端,“动”指的是数据库里的数据,而这些程序可以是PHP、JSP、Python、ASP 、Perl 等

2、服务器将程序代码(JavaScript)发送到客户端,客户端浏览器会执行这段程序

3、Flash动画,在客户端有能执行Flash的插件

web知识—协议的更多相关文章

  1. Web微信协议

    [文档]Web微信协议 1.登录 1.1 获取uuid(get) 请求 https://login.wx.qq.com/jslogin?appid=wx782c26e4c19acffb&red ...

  2. Java Web知识梳理

    今天给内部做了个培训,貌似搞错了对象,不该对新人讲这么原理性的东西. anyway,还是放上来吧,不知道有没有人能理清其中的逻辑 ^ _ ^ 问题:为什么要用tomcattomcat: servlet ...

  3. Java Web ——http协议响应报文

    HTTP 响应报文 HTTP 响应报文由状态行.响应头部.空行 和 响应包体 4 个部分组成,如下图所示: 下面对响应报文格式进行简单的分析: 状态行:状态行由 HTTP 协议版本字段.状态码和状态码 ...

  4. 【读书笔记】iOS网络-Web Service协议与风格

    协议指的是在与其它系统交换结构化信息时所要遵循的一套格式,过程与规则.此外,协议定义了在传输过程中所要使用的数据格式.这样,接收系统就能正确地解释结构化信息并做出正应的回应. 1,简单对象访问协议. ...

  5. WEB相关协议

    1.数据链路层 2.网络层 3.传输层 4.应用层 ,其中ip是在第二层网络层中,tcp是在第3层传输层中,Internet体系结构最重要的是tcp/ip协议,是实现互联网络连接性和互操作性的关键,它 ...

  6. web前端利用HSTS(新的Web安全协议HTTP Strict Transport Security)漏洞的超级Cookie(HSTS Super Cookie)

    web前端如果想实现cookie跨站点,跨浏览器,清除浏览器cookie该cookie也不会被删除这似乎有点难,下面的教程让你完全摆脱document.cookie 1.服务器端设置HSTS 如PHP ...

  7. web网络协议

    一.OSI七层模型   OSI参考模型是国际标准化组织ISO(International Standards Organization )制定的模型,把计算机与计算机之间的通信分成七个互相连接的协议层 ...

  8. 【读书笔记】iOS-网络-Web Service协议与风格

    协议指的是在与其它系统交换结构化信息时所要遵循的一套格式,过程与规则.此外,协议定义了在传输过程中所要使用的数据格式.这样,接收系统就能正确地解释结构化信息并做出正应的回应. 1,简单对象访问协议. ...

  9. appium 3-4-1034等待、日志、性能数据、xpath定位、web driver协议

    1.等待 1.1精确等待 sleep 不推荐 @Test public void testWait1() throws InterruptedException{ day_time(); Thread ...

随机推荐

  1. 学习Go语言之观察者模式

    首先了解一下观察者模式 1.目标和观察者抽象对象需要首先建立 //抽象主题 type Subject interface { Add(o Observer) Send(str string) } // ...

  2. js字符串排序方法

    前端开发过程中有时需自己手写排序方法 一般想到数字的字符串排序方法 我们会用到 var newArr = arr. sort(function(a,b){return a - b})来进行排序 但除此 ...

  3. [POI2008]KUP-Plot purchase(单调队列)

    题意 给定k,n,和n*n的矩阵,求一个子矩形满足权值和在[k,2k]之间 , 题解 这里用到了极大化矩阵的思想.推荐论文<浅谈用极大化思想解决最大子矩阵问题>Orz 如果有一个元素在[k ...

  4. [HNOI2004]高精度开根

    题目:洛谷P2293.BZOJ1213. 题目大意:给你$n,k(n\leq 10^{10000},k\leq 50)$,求$\lfloor \sqrt[k]{n}\rfloor$. 解题思路:高精度 ...

  5. Maven 工程 POM.XML文件最全详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  6. Linux学习之socket编程(一)

    socket编程 socket的概念: 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket. 在TCP协议中,建立连接的两个进 ...

  7. Spring学习总结(12)——Druid连接池及监控在spring配置

    Druid连接池及监控在spring配置如下: <bean id="dataSource" class="com.alibaba.druid.pool.DruidD ...

  8. Java基础学习总结(22)——异常处理

    一.异常的概念 异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误.出现错误时观察错误的名字和行号最为重要. package cn.javastudy.summary; public ...

  9. javaweb——登陆权限过滤器的编写

    http://blog.csdn.net/lzc4869/article/details/50935858

  10. 基于请求响应的MVC框架调用分析

    一.使用Servlet来处理请求响应 当client提交数据之后.接着发送请求,请求被封装成对象,server接收到请求,依据请求的URL.来推断将请求对象交由哪个Servlet处理. 在servle ...