web知识—协议
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知识—协议的更多相关文章
- Web微信协议
[文档]Web微信协议 1.登录 1.1 获取uuid(get) 请求 https://login.wx.qq.com/jslogin?appid=wx782c26e4c19acffb&red ...
- Java Web知识梳理
今天给内部做了个培训,貌似搞错了对象,不该对新人讲这么原理性的东西. anyway,还是放上来吧,不知道有没有人能理清其中的逻辑 ^ _ ^ 问题:为什么要用tomcattomcat: servlet ...
- Java Web ——http协议响应报文
HTTP 响应报文 HTTP 响应报文由状态行.响应头部.空行 和 响应包体 4 个部分组成,如下图所示: 下面对响应报文格式进行简单的分析: 状态行:状态行由 HTTP 协议版本字段.状态码和状态码 ...
- 【读书笔记】iOS网络-Web Service协议与风格
协议指的是在与其它系统交换结构化信息时所要遵循的一套格式,过程与规则.此外,协议定义了在传输过程中所要使用的数据格式.这样,接收系统就能正确地解释结构化信息并做出正应的回应. 1,简单对象访问协议. ...
- WEB相关协议
1.数据链路层 2.网络层 3.传输层 4.应用层 ,其中ip是在第二层网络层中,tcp是在第3层传输层中,Internet体系结构最重要的是tcp/ip协议,是实现互联网络连接性和互操作性的关键,它 ...
- web前端利用HSTS(新的Web安全协议HTTP Strict Transport Security)漏洞的超级Cookie(HSTS Super Cookie)
web前端如果想实现cookie跨站点,跨浏览器,清除浏览器cookie该cookie也不会被删除这似乎有点难,下面的教程让你完全摆脱document.cookie 1.服务器端设置HSTS 如PHP ...
- web网络协议
一.OSI七层模型 OSI参考模型是国际标准化组织ISO(International Standards Organization )制定的模型,把计算机与计算机之间的通信分成七个互相连接的协议层 ...
- 【读书笔记】iOS-网络-Web Service协议与风格
协议指的是在与其它系统交换结构化信息时所要遵循的一套格式,过程与规则.此外,协议定义了在传输过程中所要使用的数据格式.这样,接收系统就能正确地解释结构化信息并做出正应的回应. 1,简单对象访问协议. ...
- appium 3-4-1034等待、日志、性能数据、xpath定位、web driver协议
1.等待 1.1精确等待 sleep 不推荐 @Test public void testWait1() throws InterruptedException{ day_time(); Thread ...
随机推荐
- 链表python
无序链表.有序链表 有序列表排序通常是升序或降序,并且我们假设列表项具有已经定义的有意义的比较运算. 许多有序列表操作与无序列表的操作相同. 必须明确链表的第一项位置,一旦知道第一项. 链表实现的基本 ...
- css columns 与overflow结合的问题
想实现上面这样分栏,并且溢出滚动的效果.可是自己下面的代码只能得到横向滚动条.觉得出现这个情况觉得还蛮有意思的,特地记录一下. <li v-for="(item,index) in s ...
- Codeforces#441 Div.2 四小题
Codeforces#441 Div.2 四小题 链接 A. Trip For Meal 小熊维尼喜欢吃蜂蜜.他每天要在朋友家享用N次蜂蜜 , 朋友A到B家的距离是 a ,A到C家的距离是b ,B到C ...
- unity SystemInfo类 获得电量battery
我觉得用Unity 开发最爽的地方, 不是unity跨平台,而是用其他语言,要用很复杂的逻辑才能完成的功能,unity用一两句代码就能搞定 就比如说获取Android 系统的电量,不用发广播,不用申请 ...
- Java基础学习总结(16)——Java制作证书的工具keytool用法总结
一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...
- Apache CXF实战之二 集成Sping与Web容器
本文链接:http://blog.csdn.net/kongxx/article/details/7525481 Apache CXF实战之一 Hello World Web Service 书接上文 ...
- 从零開始怎么写android native service?
从零開始怎么写android native service Android service对于从事android开发的人都不是一个陌生的东西,非常多人可能会认为服务非常easy. 服务是简单,由于复杂 ...
- 智课雅思词汇---六、fer是什么意思
智课雅思词汇---六.fer是什么意思 一.总结 一句话总结:词根:fer = to carry(拿), to bring(带来), to bear(负担, 1.equ是什么意思? 词根:-equ- ...
- Bundle捆绑压缩技术
Bundle捆绑压缩技术由命名空间System.Web.Optimization中的类提供.顾名思义,这些类是用来优化Web页面性能的,它们通过压缩文件大小,捆绑文件(把多个文件合成一个下载文件)来实 ...
- Quart 学习
quartz版本使用2.2.1 梳理一下其中的流程,可以表示为: 0.调度器线程run() 1.获取待触发trigger 1.1数据库LOCKS表TRIGGER_ACCESS行加锁 1.2读取JobD ...