Http的基础认识
2016-10-28 16:29
197 查看
HTTP 也叫超文本传输协议。HTTP是一个属于应用层的面向对象的协议。
当然在开发环境中,也有开发人员称之为短链接。
目前最新WWW使用的HTTP协议。http1.1版本。
HTTP协议主要特点:
1、支持客户端/服务器模式。
2、简单快速。客户端向服务器请求服务时,只需要传送方法和路径。
请求方法包括:
1、get (常用)
2、post (常用)
3、head
4、put
5、delete
3、灵活。HTTP允许传输任意类型的数据对象。当时要在Content-Type加以标记。
4、无连接。无连接的意思是限制每次连接请求,也就是只处理一次请求。
服务器处理完客户端的请求,并受到客户端的应答后,即马上断开连接。
因为采取这种方式,可以很大程度上节约时间。
5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力的。缺少状态意味着如果你想知道服务器最新消息,那么需要重新请求一次。
HTTP的URL:
http是一个基于请求与响应模式的,无状态的,应用层的协议。
http URL包含了用于查找某个资源的足够的信息。
http://www.baidu.com(域名):8080(端口)/abc(路径)?name(参数名)=100(参数值)&多个属性
HTTP的协议,请求:
1、请求行以一个方法符号开头,以空格分开,后面跟踪请求的URL和协议的版本。格式如下: Method Request-URL HTTP-Version CRLF
GET /save/user.html http1.1
请求方法:
1、Get 请求Get方法。
2、Post 请求Post方法。
Get 和 Post基本区别:
1、Get URL显示在浏览器地址栏里和Post没有显示。
2、Get URL有长度限制 Post没有。
3、Get 相对不安全 Post 相对安全。
HTTP的协议,响应:
1、在接收和解析请求消息后,服务器返回一个HTTP响应消息。
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=aaa&rsv_pq=9dd2ede8000332ef&rsv_t=42f8S1adp5aaRfITs%2BiaZUCKf8UrnEeY74IOa4QO11y2ac4uOKP%2FjC6Y3Bc&rqlang=cn&rsv_enter=1&rsv_sug3=3&rsv_sug1=1&rsv_sug7=100
浏览器 -> 网关 -> DNS -> 服务器(WebServer) -> 业务 -> 数据库
HTTP响应也是三个部分组成:
1、状态行
2、消息报头
3、响应正文
状态行格式:状态行一般由3个数字组成,第一个数字定义响应类别:
1、1xx 指示信息,表示请求已接受,继续处理
2、2xx 成功 表示请求已经被成功接收,理解并接受了。
3、3xx 重定向 表示请求已要求必须进行下一步跳转操作。
4、4xx 客户端错误 请求有语法错误或者请求无法实现
5、5xx 服务器错误 请求发生后服务端未能实现合理的请求
200 OK 客户端请求成功
400 Bad Request 客户端请求有语法错误
401 Unauthorized 客户端未经授权
403 Forbidden 服务器收到请求,但是拒绝访问
404 Not Found 请求资源不存在
500 Server Error 服务端发生不可预知的错误
503 Server Unavailable 服务器当前不能处理客户端请求,可能一段时间恢复正常。
HTTP协议 报头:
HTTP消息是由客户端到服务端的请求和服务器到客户端的响应组成。
请求消息和响应消息都是由开始行、消息报头、空行、消息正文。组成。
Cache-Control 用于指定缓存指令,缓存指定是单向的,且独立的。
(一个消息的缓存指定不会影响另一个消息处理的缓存机制)
响应缓存指令包括:public、private、no-cache ...
Connection 普通报头域允许发送指定连接选项。如:这个指定连接是连续或者是close的选项。
Accpet 请求报头域用于指定客户端接收哪些类型的信息。
User-Agent 一般包括浏览器信息,操作信息或版本。
Content-Type 实体报头域用于指明发送给接收者的实体类型
例如:Content-Type: text/html;charset=gb2312
Last-Modified 实体报头域用于指示资源的最后的修改日期。
需要注意的是:
通常一个基本的WebServer 端口为:80.默认端口也为80.
tomcat 端口是8080.
当然在开发环境中,也有开发人员称之为短链接。
目前最新WWW使用的HTTP协议。http1.1版本。
HTTP协议主要特点:
1、支持客户端/服务器模式。
2、简单快速。客户端向服务器请求服务时,只需要传送方法和路径。
请求方法包括:
1、get (常用)
2、post (常用)
3、head
4、put
5、delete
3、灵活。HTTP允许传输任意类型的数据对象。当时要在Content-Type加以标记。
4、无连接。无连接的意思是限制每次连接请求,也就是只处理一次请求。
服务器处理完客户端的请求,并受到客户端的应答后,即马上断开连接。
因为采取这种方式,可以很大程度上节约时间。
5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力的。缺少状态意味着如果你想知道服务器最新消息,那么需要重新请求一次。
HTTP的URL:
http是一个基于请求与响应模式的,无状态的,应用层的协议。
http URL包含了用于查找某个资源的足够的信息。
http://www.baidu.com(域名):8080(端口)/abc(路径)?name(参数名)=100(参数值)&多个属性
HTTP的协议,请求:
1、请求行以一个方法符号开头,以空格分开,后面跟踪请求的URL和协议的版本。格式如下: Method Request-URL HTTP-Version CRLF
GET /save/user.html http1.1
请求方法:
1、Get 请求Get方法。
2、Post 请求Post方法。
Get 和 Post基本区别:
1、Get URL显示在浏览器地址栏里和Post没有显示。
2、Get URL有长度限制 Post没有。
3、Get 相对不安全 Post 相对安全。
HTTP的协议,响应:
1、在接收和解析请求消息后,服务器返回一个HTTP响应消息。
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=aaa&rsv_pq=9dd2ede8000332ef&rsv_t=42f8S1adp5aaRfITs%2BiaZUCKf8UrnEeY74IOa4QO11y2ac4uOKP%2FjC6Y3Bc&rqlang=cn&rsv_enter=1&rsv_sug3=3&rsv_sug1=1&rsv_sug7=100
浏览器 -> 网关 -> DNS -> 服务器(WebServer) -> 业务 -> 数据库
HTTP响应也是三个部分组成:
1、状态行
2、消息报头
3、响应正文
状态行格式:状态行一般由3个数字组成,第一个数字定义响应类别:
1、1xx 指示信息,表示请求已接受,继续处理
2、2xx 成功 表示请求已经被成功接收,理解并接受了。
3、3xx 重定向 表示请求已要求必须进行下一步跳转操作。
4、4xx 客户端错误 请求有语法错误或者请求无法实现
5、5xx 服务器错误 请求发生后服务端未能实现合理的请求
200 OK 客户端请求成功
400 Bad Request 客户端请求有语法错误
401 Unauthorized 客户端未经授权
403 Forbidden 服务器收到请求,但是拒绝访问
404 Not Found 请求资源不存在
500 Server Error 服务端发生不可预知的错误
503 Server Unavailable 服务器当前不能处理客户端请求,可能一段时间恢复正常。
HTTP协议 报头:
HTTP消息是由客户端到服务端的请求和服务器到客户端的响应组成。
请求消息和响应消息都是由开始行、消息报头、空行、消息正文。组成。
Cache-Control 用于指定缓存指令,缓存指定是单向的,且独立的。
(一个消息的缓存指定不会影响另一个消息处理的缓存机制)
响应缓存指令包括:public、private、no-cache ...
Connection 普通报头域允许发送指定连接选项。如:这个指定连接是连续或者是close的选项。
Accpet 请求报头域用于指定客户端接收哪些类型的信息。
User-Agent 一般包括浏览器信息,操作信息或版本。
Content-Type 实体报头域用于指明发送给接收者的实体类型
例如:Content-Type: text/html;charset=gb2312
Last-Modified 实体报头域用于指示资源的最后的修改日期。
需要注意的是:
通常一个基本的WebServer 端口为:80.默认端口也为80.
tomcat 端口是8080.
相关文章推荐
- 从认识web应用开始(二)web应用基础-HTTP应用
- HTTP协议 - 基础认识
- ASP.NET服务器控件与组件基础概念——HttpHandler (转载)
- Eclipse基础--Eclipse启动过程http://writeblog.csdn.net/EditGalleries.aspx
- 一点一点学ASP.NET之基础概念——HttpModule
- 一点一点学ASP.NET之基础概念——HTTP运行期与页面执行模型
- http协议基础,学习搜索引擎必备知识
- AJAX之HTTP协议基础
- 一点一点学ASP.NET之基础概念——HttpHandler
- Ajax快速入门之http协议基础
- 一点一点学ASP.NET之基础概念——HttpModule
- 【总结】HTTP协议基础知识
- HTTP 协议基础
- Ajax快速入门之http协议基础
- 一点一点学ASP.NET之基础概念——HTTP运行期与页面执行模型
- 第三章 web应用和HTTP基础
- TCP/IP基础----为Linux做准备(1) 转载自:(http://www.fanqiang.com)
- HTTP协议基础
- ASP.NET服务器控件与组件基础概念——HttpModule(转载)
- asp.net控件开发基础 来源:http://www.clingingboy.com/blog/article.asp?id=258