因为如今的工作设计的 web 开发,因此了解了一下 Http 协议。在阅读了这篇文章 HTTP 协议具体解释(真的非常经典)后,总结了相关经常使用知识并列在此处以方便以后的查询。
HTTP 协议的主要特点可概括例如以下: 1. 支持客户 / server 模式。
2. 简单高速:客户向 server 请求服务时,仅仅需传送请求方法和路径。请求方法经常使用的有 GET、HEAD、POST。每种方法规定了客户与 server 联系的类型不同。
因为 HTTP 协议简单,使得 HTTPserver 的程序规模小,因而通信速度非常快。 3. 灵活:HTTP 同意传输随意类型的数据对象。正在传输的类型由 Content-Type 加以标记。 4. 无连接:无连接的含义是限制每次连接仅仅处理一个请求。server 处理完客户的请求。并收到客户的应答后,即断开连接。採用这样的方式能够节省传输时间。 5. 无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。
缺少状态意味着假设兴许处理须要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。还有一方面。在 server 不须要先前信息时它的应答就较快。
HTTP URL (URL 是一种特殊类型的 URI,包括了用于查找某个资源的足够的信息) 的格式例如以下:
- http: //host[":"port][abs_path]
2、http:192.168.0.116:8080/index.jsp
浏览器自己主动转换成:http://www.guet.edu.cn/
1、输入:www.guet.edu.cn
eg:
http 表示要通过 HTTP 协议来定位网络资源;host 表示合法的 Internet 主机域名或者 IP 地址。port 指定一个端口号。为空则使用缺省端口 80;abs_path 指定请求资源的 URI;假设 URL 中没有给出 abs_path,那么当它作为请求 URI 时,必须以 "/" 的形式给出,通常这个工作浏览器自己主动帮我们完毕。
User-Agent我们上网登陆论坛的时候,往往会看到一些欢迎信息,当中列出了你的操作系统的名称和版本号。你所使用的浏览器的名称和版本号,这往往让非常多人感到非常奇妙,实际上,server 应用程序就是从 User-Agent 这个请求报头域中获取到这些信息。User-Agent 请求报头域同意 client 将它的操作系统、浏览器和其他属性告诉 server。只是。这个报头域没必要的,假设我们自己编写一个浏览器,不使用 User-Agent 请求报头域,那么 server 端就无法得知我们的信息了。 在 Android 中获取系统的 userAgent 代码例如以下:System.getProperty("http.agent"); 在我的手机上打印出: Dalvik/1.6.0 (Linux; U; Android 4.3; GT-I9300 Build/JSS15J)
Accept-Encoding HTTP Header 中 Accept-Encoding 是浏览器发给 server, 声明浏览器支持的编码类型 常见的有 Accept-Encoding: compress, gzip // 支持 compress 和 gzip 类型 Accept-Encoding:// 默认是 identity Accept-Encoding: *// 支持全部类型 Accept-Encoding: compress;q=0.5, gzip;q=1.0// 按顺序支持 gzip , compress Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0 // 按顺序支持 gzip , identity server 返回的相应的类型编码 header 是 content-encoding.server 处理 accept-encoding 的规则例如以下所看到的 1. 假设 server 能够返回定义在 Accept-Encoding 中的不论什么一种 Encoding 类型, 那么处理成功 (除非 q 的值等于 0, 等于 0 代表不可接受)
来源: http://www.bubuko.com/infodetail-2056070.html