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 ...
随机推荐
- js对浏览器产生的影响
Js 是单线程执行引擎.在我们动态修改一些属性时会产生两种效果: 1.Repaint ----- 一部分重画,修改 div 的颜色呀,但是尺寸没有改变. 2.Reflow ---- 元素 ...
- python Web抓取(一)[没写完]
需要的模块: python web抓取通过: webbrowser:是python自带的,打开浏览器获取指定页面 requests:从因特网上下载文件和网页 Beautiful Soup:解析HTML ...
- PatentTips - Compare and exchange operation using sleep-wakeup mechanism
BACKGROUND Typically, a multithreaded processor or a multi-processor system is capable of processing ...
- java中string与json互相转化
在Java中socket数据传输时,数据类型往往比較难选择.可能要考虑带宽.跨语言.版本号的兼容等问题. 比較常见的做法有两种:一是把对象包装成JSON字符串传输,二是採用java对象的序列化和反序列 ...
- Beta分布从入门到精通
近期一直有点小忙,可是不知道在瞎忙什么,最终有时间把Beta分布的整理弄完. 以下的内容.夹杂着英文和中文,呵呵- Beta Distribution Beta Distribution Defini ...
- IDEA中如何设置自动导包
IDEA跟eclipse还是有一些差别,一些东西要自己去设置,但同时也还是有快捷键的方式来帮助我们 1.如何设置自动导包:如下图所示 点击FIle--->settings 其次还可以通过按快捷键 ...
- BZOJ 4144 Dijkstra+Kruskal+倍增LCA
思路: 先把所有的加油站 push进按weight排序的优先队列里 对于每个不是加油站的点 找到到它的点的最短路以及它来源的加油站 如果x和y有边 且x和y加油站的来源不一样 则它可以连边 跑一边Kr ...
- BZOJ 1579 道路升级 Dijkstra
思路: 这道题 不能把所有边都建出来 会MLE的!!! oh gosh 其实不建所有的边 用的时候再调就行了-.(也没啥区别) //By SiriusRen #include <queue> ...
- impala 概述
impala 概述 什么是Impala? Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎. 它是一个用C ++和Java编写的开源软件. 与其他Had ...
- Android自定义控件简单实现ratingbar效果
先上图: 一开始让我自定义控件我是拒绝的,因为android很早以前就有一个控件ratingbar,但是设置样式的时候我发现把图片设置小一点就显示不全,一直找不到解办法!(可以设置系统的自带的小样式) ...