黑马程序员_学习笔记16_Http协议初探
来源:互联网 发布:银行软件开发笔试 编辑:程序博客网 时间:2024/06/05 04:24
Web开发是和Http协议打交道的,必须了解Http协议。
Http的版本 Http/0.9 Http/1.0 Http/1.1
Http协议分析工具:
1.DebugBar,Http(S)标签内容,免费的,只能分析当前浏览器的内容。
2.HttpWatch,收费的,只能分析当前浏览器的内容
3.HttpAnalyzer : 收费的,能分析计算机上所有的Http请求数据。
Http协议的几个概念:
1。链接(Connectioin):浏览器和服务器之前传输数据的通道。请求结束后,立即关闭该链接,不会保持。
2。请求(Request):浏览器想服务器发送”我要啥啥啥“的消息,
包含请求的类型(post,get),请求的数据(表单数据,cookie),浏览器的信息(版本,区域,语言等)
3。响应(Response):服务器对浏览器的请求返回相应的数据,包含是否成功,
错误代码等。
Http每次在服务器和客户端之间的请求之间都会附带服务器端和客户端的某些信息。
把这些信息称之为Http报文。
Http请求报文(客户端到服务器端)
可以使用httpwatch来查看访问一个网站的请求和响应情况。敲入一个网址并按回车键之后
浏览器就会向服务器发送一个请求。当前页面的中从网页外部导入的文件将执行一个新的
请求。页面中是利用导入语法导入的,诸如 图片,js,css等都是一个单纯的请求。
GET/HTTP/1.1表示象服务器使用GET的方式请求页面,当前请求使用的是HTTP/1.1协议。
Accept-Encoding gzip,deflate表示浏览器支持的gzip,deflate的两种压缩算法。
Accept - Language zh-cn 表示浏览器支持的语言,很多国际性的网站都在服务器端读取
http请求报文中的这个属性来确定用户当前请求该导向该国语言的页面。
Connection Keep-Alive .一般情况下,一但web服务器想浏览器发送了请求数据,它就要关闭
TCP链接,然后如果浏览器或者服务器在其头信息中加入了Connection Keep-Alive ,则TCP在
发送完用户请求后,仍然保持当前用户和服务器之间的连接,于是浏览器可以通过上一次的Http
请求报文向服务器发送请求。保持连接节省了为每一个请求连接建立所需要的时间,还节约了网络
流量。
Cookie 是浏览器向服务器发送的和当前网站关联的Cookie,这样服务器也能读取浏览器端的Cookie。
User-Agent 为浏览器的版本信息。在服务器端可以通过这个属性来判断当前用户浏览器的版本
操作系统,支持的插件,.NET版本等相关的平台信息。
Http响应报文(服务器端到客户端)
Sever :Cassini/3.5.0.5 表示服务器的类型(这个属性可以在服务器端伪造,以防止黑客
根据当前服务器的漏洞来攻击网站)
Content-Type :text/html charset=utf -8 表示返回的数据类型。浏览器将根据这个属性值来
确定如何操作从服务器端返回来的数据信息。
服务器端通过Content - Type 告诉客户端响应数据的类型,这样浏览器就根据不同的返回类型
对返回数据做不同的处理,如果是图片类型就显示图片,如果是文本类型就直接显示内容,
如果是html类型 就用浏览器显示内容,如果是下载类型就弹出下载工具等。
常用的Content - Type :text/html Image/GIF Image/JPEG text/plain text/javascript
application/x-excel application/octet-stream(二进制文件)
Content - Length :表示后续数据的消息文本长度(不好过http响应报文),报文只是当前数据的描述
具体数据 在它之后。
Http响应吗:
浏览器向服务器发送请求,服务器处理可能是成功,也可能是失败,也可能是没有权限访问等。,服务器会
通过响应吗来告诉用户响应的结果。
http 200 ok 表示服务器正确的处理了当前浏览器的请求。
http 301 Moved Permanently 永久移除
http 302 Found 暂时转移
http 307 Temporary Redirect
http 400 Bad Request 错误请求 发出错误的,不符合Http协议的请求。
http 401 Unauthorized 未认证 一般需要用户名和密码才能登陆。
http 403 Forbidden 禁止 页面禁止访问 权限不够 或未授权。
http 404 Not Found 未找到 访问页面没找到,服务器中不存在当前请求的页面。
http 500 Internal Server Error 服务器内部错误
http 503 Service Unavailable 一般是访问任务过多。
200段 成功段 300段 请求需要做其他处理 400段 用户请求错误 500段 服务器内部错误。
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/
- 黑马程序员_学习笔记16_Http协议初探
- 黑马程序员_学习笔记17_Http协议拓展
- JSP学习笔记(4)_HTTP协议
- 黑马程序员_学习笔记10_asp.net初探之一般处理文件模型
- 黑马程序员_学习笔记15_asp.net之验证码实现原理初探
- 黑马程序员_网络编程学习笔记-->代码主要是对UDP协议的讲解
- 黑马程序员_基础学习笔记(16)
- 黑马程序员_学习笔记:16) 反射技术
- 黑马程序员_学习笔记18_Request
- 黑马程序员_学习笔记19_Response
- 黑马程序员_学习笔记20_Server
- 黑马程序员_泛型学习笔记
- 黑马程序员_正则表达式学习笔记
- [黑马程序员]多线程_学习笔记9
- 黑马程序员_多线程学习笔记
- 黑马程序员_异常处理学习笔记
- 黑马程序员_网络编程学习笔记
- 黑马程序员_学习笔记枚举
- ASP.NET获取IP的几种方法
- 调用empty而不是检查size()是否为0,来判断容器中是否有零个元素
- 线程同步之等待句柄
- 鸟哥的 Linux 私房菜 -- 学习 bash shell
- SharePoint2010母版页制作的简单介绍
- 黑马程序员_学习笔记16_Http协议初探
- 将药品类别表数据加载到页面的目录树中
- 数组在java与C++中的不同
- 静态测试
- html/css标题截断,设置固定长度标题
- 将10g RAC库用rman 的方式备份并恢复到异机
- dojox
- 线程同步之自旋锁(SpinLock)
- 创建ORACLE表空间、用户和忘记密码处理