HTTP相关

  • HTTP协议
  1. HTTP协议版本: 0.9/1.0/1.1(主流)
  2. HTTP协议分析工具: 

DebugBar: 免费/只分析当前浏览器内容

HttpWatch: 收费/只分析当前浏览器内容(推荐)

HttpAnalyzer: 收费/能分析计算机上所有的HTTP请求数据

  1. HTTP协议概念:

连接(Connection): 浏览器和服务器之间传输数据的通道

请求(Request): 浏览器向服务器发送的请求数据信息(请求类型 请求数据 浏览器信息…)

响应(Response): 服务器向浏览器发送的返回数据信息(是否成功 错误码…)

  • HTTP报文
  1. 浏览器向服务器发送请求时 页面中的图片 css js在单独的请求中
  2. 报文(HTTP无状态 同一页面的js css 图片…请求提交重复报文信息):
Referer: 通过哪个页面发送的请求
Accept-Language: 语言
Accept-Encoding: 压缩
User-Agent: 浏览器(兼容浏览器/支持的操作系统/支持的.Net版本)
Connection: 连接(Keep-Alive:请求完成后不关闭连接)
Cookie: cookie
----------------------------------------------------------------------------------------------------------------------------
200 OK: 处理成功(状态码)
Server: 服务器
Date: 日期
X-AspNet-Version: ASP.NET版本
Content-Type: 返回内容类型(浏览器端根据不同返回类型进行不同处理 如对于下载类型则弹出下载工具 对于图片则显示)
Content-Length: 正文长度
Connection: 连接
  • HTTP响应码
  1. 响应码(200~成功 300~需处理 400~客户端错误 500~服务器错误):
200: OK
301: Moved Permanently(永久转移)
302: Found(暂时转移)
307: Temporary Redirect(类似重定向)
400: Bad Request(错误请求/不符合HTTP协议要求)
401: Unauthorized(未认证/一般需要用户名 密码才能访问)
403: Forbidden(禁止)
404: Not Found(未找到)
500: Internal Server Error(服务器内部错误/如程序抛异常)
503: Service Unavailable(一般是访问人数过多)
  • HTTP其他
  1. 网页中如果有图片 js css等外部文件 都在单独的请求中完成
  2. 一般情况下 只有浏览器端请求服务器端 服务器端才会向浏览器端发送数据(安全性/服务器端性能考虑)/如需服务器端向浏览器端发送数据则需ServerPush等额外技术
  3. HTTP是”请求---响应”的工作方式 因此页面会不断刷新/如果不希望页面刷新则需AJAX等技术
  4. 断点续传/多线程下载原理(HTTP部分下载请求)
GET a.zip HTTP/1.1
(类似)Length: 3M~4M
  1. ”请求---响应”模型案例: 行删除(三种方式/代码见实例)/ASP.NET数据绑定控件中按钮和超链接两种删除方式的实现原理(如ListView中的Button/HyperLink) 超链接的url通过get方式提交给表单页面 由于没有提交所有表单信息(ispostback) 因此很多服务器端控件的高级用法无法使用

posted on 2011-09-19 20:23  les_vies  阅读(135)  评论(0编辑  收藏  举报

导航