http详解

点击访问我的网站,查看效果 上海驾校

1、http协议

1、超文本连接协议,从1990年开始被广泛应用,是现今www上应用最广的协议,目前版本为1.1

2、http在网络架构中是应用程序协议,在你上网的时候,浏览器和服务器之间就会通过http在intent上进行数据的发送和接受。

3、http是基于请求和响应的无状态协议(request  / respsonse based),无状态的意思是不知道请求是不是同一个人或者同一台计算机发的。

4、基于tcp协议的,所以每次请求都需要建立一个连接。

2、持续连接

产生原因:在Http1.0中,当连接建立后,浏览器发送一个 请求,服务器回应一个消息,之后,连接就被关闭。当浏览器下次请求的时候,需要重新建立连 接,很显然这种需要不断建立连接的通信方式开销比较大。早期的Web页面通常只包含HTML文本,因此即使建立连接的开销比较大,也不会有太大的影响。而现在的Web页面往往包含多种资 源(图片,动画,声音等),每获取一种资源,就建立一次连接,这样就增加了HTTP服务器的开 销,造成了Internet上的信息堵塞 。

产生:在Http1.1版本中,给出了一个持续连接(Persistent Connections)的机制,并将其作为Http1.1中建立连接的缺省行为 。通过这种连接,浏览器可以在建立一个连接之后,发送请求并得到回应,然后继续发送请求并再次得到回应。而且,客户端还可以发送流水线请求,也就是说,客户端可以连续发送多个请求,而不用等待每一个响应的到来。请求数不变,减少了连接数。n秒后没有接收到客户端新的请求,访问就关闭,要进行新的连接。

格式

 http://host[: port] [abs_path] 
 http表示要通过HTTP协议来定位网络资源。 
 Host表示合法的Internet主机域名或IP地址(以点分十进制格式表示) 
 Port用于指定一个端口号,拥有被请求资源的服务器主机监听该端口的TCP连接。如果port是空,则使用缺省的端口80。 
 abs_path指定请求资源的URI (Uniform ResourceIdentifier,统一资源标识符),如果URL中没有给出 abs_path,那么当它作为请求URI时,必须以“/” 的形式给出。通常这个工  作浏览器就帮我们完成了 

http请求

客户端通过发送HTTP请求向服务器请求对 资源的访问 

HTTP请求由三部分组成,分别是:请求行消息报头,请求正文 

请求行

请求行以一个方法符号开头,后面跟着请求URI 和协议的版本,以CRLF作为结尾。请求行以空格分隔。除了作为结尾的CRLF外,不允许出现单独 的CR或LF字符。

格式如下: 
    – Method Request-URI HTTP-Version CRLF 

 Method表示请求的方法,Request-URI 是一个统一资源标识符,标识了要请求的资源,HTTP-Version表示请求的HTTP协议版本, CRLF表示回车换行。

例如: 

    – GET /test.html HTTP/1.1 (CRLF)

post

POST方法用于向服务器发送请求,要求服务器接受附在请求后面的数据。POST方法在表单提交的时候用的最多 

采用POST方法提交表单的例子 
    POST /login.jsp HTTP/1.1 (CRLF) 
    Accept:image/gif (CRLF) (….) 
     Host:www.sample.com (CRLF)(….) 
     …. 
     Cache-Control:no=cache (CRLF) 
     (CRLF) 
     username=hello&password=123456

get

GET方法用于获取由Request-URI所标识 的资源的信息,常见形式是: 
    – GET Request-URI HTTP/1.1 

当我们通过在浏览器的地址栏中直接输入 网址的方式去访问网页的时候,浏览器采用的就是GET方法向服务器获取资源 

head

HEAD方法与GET方法几乎是一样的,他们 的区别在于HEAD方法只是请求消息报头,而不是完整的内容。对于HEAD请求的回应部分来说,它的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。利用这个方法,不必传输整个资源的内容, 就可以得到Request-URI所标识的资源的信息。这个方法通常用于测试超链接的有 效性,是否可访问,以及最近是否更新 等 

http请求方法

当我们在HTML中提交表单时,浏览器会根据你的提交方法是get还是post,采用相应的在HTTP协议中的GET或POST方法,向服务器发出请求。 
• 注意:在HTML文档中,书写get和post, 
   不区分大小写,但HTTP协议中的GET和 
    POST只能是大写形式 

http响应

 在接收和解释请求消息后,服务器会返回 一个HTTP响应消息 
 与HTTP请求类似,HTTP响应也是由三个部分组成,分别是:状态行,消息报头,响应正文 

状态行由协议版本,数字形式的状态代码 ,相应的状态描述组成,各元素之间以空格分隔,除了结尾的CRLF (回车换行)序 
列外,不允许出现CR或LF字符。格式如下: 
    – HTTP-Version Status-Code Reason-Phrase CRLF 
   HTTP-Version表示服务器HTTP协议的版本, 
   Status-Code表示服务器发回的响应代码, 
   Reason-Phrase表示状态代码的文本描述, 
   CRLF表示回车换行,例如: 
    – HTTP/1.1 200 OK (CRLF)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值