HTTP协议第一篇

HTTP协议第一篇
    什么是HTTP协议?
        HTTP是应用层的面向对象协议,全称是HyperText Transfer Protocol。中文的意思是超文本传输协议.是互联网上应用最为广泛的一种网络协议。
    HTTP的特点?
        1.支持客户/服务器模式(B/S)
        2.简单快速,客户向服务器请求服务时,只需要传送请求方法,请求消息头,请求常用的方法有get delete put post 等,每种方法规定了客户与服务器联系的类型不同,由于HTTP协议简单快速,使得服务器规模小
        因而通信速度很快,
        3.灵活:HTTP允许传输任意类型的数据对象,正在传输的类型由Content-Type加以标记
        4.无连接:无连接的含义是限制每次链接处理一个请求,并收到客户的答应后,立刻断开连接.采用这种方式可以接受传输时间
        5.无状态:HTTP协议是无状态的协议,无状态是指协议对于事务没有处理的记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传。这样可能导致每次链接传送的数据量增大的一方面,
        另一方面、在服务器不需要先前信息它的应答较快。
    HTTP有哪些版本?
        1.HTTP1.0,HTTP1.1(目前最流行的的),HTTP-NG    
    HTTP1.0的会话方式与过程
        1.客户在浏览器输入地址或者,单击某个链接的时候
        2.客户机(浏览器)与服务器端建立连接
        3.客户机(浏览器)向服务器发出请求信息
        4.服务器向客户机(浏览器)回送响应信息
        5.最后立刻关闭连接
        注意:浏览器与WBE服务器建立连接的时间是很短暂的,每次的连接只处理一个请求和响应,对每一个页面的访问,浏览器与WEB服务器都要建立一次单独的连接.浏览器与WBE服务器之间的所有通信都是完全独立分开的请求响应对
    HTTP1.0支持代理服务器
        1.点击某个链接,web浏览器器首先去代理服务器去看有没有缓存好的的如果有直接到代理服务器响应,但是还是会和服务器建立一次连接,只是服务器没有返回响应信息
        注意:代理商应该保存一些不经常被改变的信息,应该是最新的.
    HTTP1.0访问页面的过程,就譬如网页有2张图片
        1.第一次和服务器连接获取网页文档
        2.第二次和服务器连接获取图片1
        3.第三次和服务器连接获取图片2
        注:所以我们每次打开一个网页都有无数个请求每次请求都会建立一次连接,切记每个请求都是独立的HTTP1.0
    
    HTTP1.1和HTTP1.0的比较

    HTTP1.1的特点
    
        1.在一个tcp连接上可以传送多个HTTP的请求和响应
        2.多个请求和响应过程可以重叠进行
        3.增加了更多的请求头和响应头
        4.HTTP1.1的会话过程、
            1.单击某个链接,客户机(浏览器)和服务器经理连接
            2.客户机(浏览器)发送请求信息1;
            3.客户机(浏览器)发送请求信息N;
            4.服务器向客户机(浏览器)回送响应信息1
            5.服务器向客户机(浏览器)回送响应信息2
            6.即断开连接
        注:客户端与服务器端建立一次连接,发送多个请求信息的时候.是有顺序的,服务器端才能知道每个请求对应的回送响应信息。服务器端也是按请求的顺序回送响应信息
        5.HTTP1.1以后可以设置请求的HOST头信息,在HTTP1.0是不能建立基于主机名的虚拟主机的在HTTP1.1以后增加HOST的请求头和响应头信息的信息
        
       HTTP请求消息的结构:
        一个请求行、若干个消息头以及实体内容其中一些消息头和实体内容之间要空一行隔开
        注意:get请求是没有实体内容的只有post、put、delete、请求才会有实体内容
    
       HTTP响应消息的结构(和请求消息类似)
        一个状态行、若干个消息行,以及实体内容其中一些是消息头和实体内容都是可选的,消息头和实体内容直接要用空行隔开

        状态行
        多个消息头
        空行
        实体内容
       HTTP请求响应消息的细节:
        1.响应消息的实体内容是就是网页文档的内容也就是浏览器中使用查询源文件的方式所看到的内容
        2.一个gei方式的请求消息头不能包含实体内容,只有post,put,delete方式的请求消息中才可以包含实体内容
        3.对于HTTP1.1来说,如果HTTP消息中包括实体内容,且没有采用chunked的传输字符编码的话,请求消息必须包含实体内同的长度字段,不然服务器无法知道请求到那里结束
        4.在HTTP协议中,还可以使用简单的请求消息和响应消息,他们都没有消息头部分,简单的请求消息只能用于get方式,且请求行中不能指定HTTP的版本号,对于简单的请求消息,服务器返回简单的响应消息消息只有实体内容。
    HTTP消息头的作用
        1.使用消息头,可以实现HTTP客户机与服务器之间的请求和应答。消息头相当于服务器和浏览器之间的一些指令和暗号
        注意:通常我们可以通过设置,消息头来告诉服务器做一些特别的操作服务器也可以通过设置响应消息头来告诉浏览器做一些特殊的操作例如:
        1.服务器可以通过消息头通知浏览器网页要采用什么字符集来显示网页文档.告诉浏览器多少时间刷新一下网页内容,以及在用户的机器的硬盘上创建一个cookie文件
        2.客户机可以通过设置消息告诉服务器端本机的使用的操作语言.服务器知道返回什么语言的网页内容文档这对支持国际语言的网站非常有用
    每个消息头包含一个字段名称然后依次冒号、空格、值、回车和换行符
    举例:Accpt-Language:en-us
    消息头字段不区分大小写的,都习惯将每个单词的第一个字母大写。
    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值