你所应该了解的HTTP协议(一)

当我们的客户端连接上web服务器时,若想要获得web服务器中的某个web资源,需要遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器之间的通讯格式。HTTP又称为超文本传输协议,它是基于TCP/IP协议的一个应用层的协议。HTTP基于请求响应模型,一次相应对因一次请求,并且请求只能由客户端发出,服务器端只能被动的接受请求。
(OSI网络七层协议:应用层(HTTP,SMTP,POP3,TELNET)——>表示层——>会话层——>传输层(TCP,UDP)——>网络层(IP)——>数据链路层——>物理层)
HTTP协议的版本有:HTTP/1.0与HTTP/1.1。版本号之间相差的越少则两者之间的差距越少。1.0与1.1两个版本的区别是HTTP1.0版本中客户端与服务器端连接后只能获取一次web资源,之后便会断开链接。而1.1版本允许客户端与服务器之间连接之后,在一个连接之上可以获得多次web资源。

HTTP协议我们要了解的是HTTP请求和HTTP响应。

HTTP请求:客户端在连接上服务器之后,向服务器获取某个web资源,称之为向服务器发送一个HTTP请求,一个完整的HTTP请求包括以下几个内容:

GET /books/java.html HTTP/1.1——>请求行
ACCEPT :text/html image/*---->若干请求头  
ACCEPT-LANGUAGE:en-us  
Host:localhost  
               ---->一行空行
.......         ----->实体内容


请求行:请求行用于描述客户端的请求方式,请求的web资源,以及使用的HTTP协议的版本
客户端的请求方式有7种:GET  POST  PUT  DELETE   OPTITIONS   TRACE   HEAD,这7种方式只有GET和POST两种方式是比较常用的,后面几个一般都用不到。
对于GET和POST请求方式,两者的主要区别就是体现在数据的传送上,如果请求的方式是GET方式,则是在请求的URL地址后面以?的形式带上要传输的数据,多个数据之间以&相间隔。例如:GET /books/Java.html?username=aa&password=aa HTTP/1.1.但是GET请求方式URL地址后面的参数的数据容量不超过1k
如果是POST的请求方式,则请求的参数是放在HTTP请求的实体内容中传输过去的,所以传输的数据是没有数据大小限制的。
请求头:HTTP中常用的请求头主要由以下有几个:

ACCEPT:text/html,image/*         当前浏览器所能接受的数据的的格式  
ACCEPT-Charset : ISO-8859-1        当前浏览器所使用的数据的编码格式  
ACCEPT-Encoding :gzip,compress   当前浏览器接受的数据的压缩格式  
ACCEPT-language:zh-cn             当前浏览器的语言环境  
Host :localhost:8080             浏览器要访问的虚拟主机的名字  
If-Modified-Since:TUE,11,JUL 2017 18:21:53 GMT   与浏览器缓存机制相关的一个头,配合HTTP响应中的Last-Modified使用  
Referer:http://www.hhuc.com      表示当前的访问来自哪一个链接,这个请求头与防盗链功能相关  
User-Agent:Mozilla/5.0.......	  当前浏览器的相关的信息  
Cookie			          与浏览器的cookie缓存相关的头  
Connection:close/keep-Alive	  连接的状态,close表示关闭,keep-alive表示链接  
Date:TUE,11,JUL 2017 18:21:53 GMT 当前系统的时间  
HTTP响应下一篇再写吧


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值