Servlet:超文本传输协议

Servlet:超文本传输协议

  • 网络的三大基石
  • http超文本传输协议
  • http协议的请求与响应
  • post和get方式请求差异

网络三大基石:

  • url:负责定位资源
  • http:负责传输资源的规则
  • HTML:负责显示资源

http超文本传输协议

隶属于tcp/ip协议的子协议簇,所以http是一种安全的连接方式。

  • 1,是一个单向性的协议,必须先有请求再有响应。原来的http协议都是一次连接只能发送一次请求,好处在于大家可以使用服务器,缺点建立连接浪费资源
    • 建立链接
    • 发送请求
    • 返回响应
    • 关闭连接 * N
  • 2,HTTP协议1.1之后开始支持长连接,一次连接可以有多次请求
    • 建立链接
      • 发送请求
      • 返回响应 *N
    • 返回响应
      • 关闭连接 * 1
  • 3,HTTP协议都是无状态的协议,对事务的处理没有任何的记忆功能
    • 解决问题的方法:
      • Cookie*
      • Session *

Http协议分为两部分:

  • 请求

    • 请求行
      • GET / HTTP/1.1
        GET 请求方式
        /:资源的请求地址uri
        HTTP/1.1:请求协议的版本号
    • 请求头

      • Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, /
        Accept-Language: zh-CN
        User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
        Accept-Encoding: gzip, deflate
        Host: www.baidu.com
        Connection: Keep-Alive
        Cookie: BAIDUID=8DE5B8771CCBC8BE2B7C2376F6BF04D2:FG=1; BIDUPSID=190F4BE69277526ED65E1C6BA2660033; PSTM=1471483760; BD_LAST_QID=9775626997723070266
    • 请求实体内容

      • 存放post方式的请求参数
  • 响应
    • 响应行(状态行
      • HTTP/1.1 200 OK
        协议版本号
        状态码:1消息2成功3重定向4请求错误56服务器错误
        状态描述
    • 响应头(应答头)
      • **Server: bfe/1.0.8.18
        Date: Sun, 18 Sep 2016 06:44:58 GMT
        Content-Type: text/html; charset=utf-8
        Transfer-Encoding: chunked
        Connection: keep-alive
        Vary: Accept-Encoding
        Cache-Control: private
        Cxy_all: baidu+b77b0310ad629143b5a3e24b7c28bf7f
        Expires: Sun, 18 Sep 2016 06:44:51 GMT
        X-Powered-By: HPHP
        X-UA-Compatible: IE=Edge,chrome=1
        Strict-Transport-Security: max-age=604800
        BDPAGETYPE: 1
        BDQID: 0x9d4556e30000a6c6
        BDUSERID: 0
        Set-Cookie: BDSVRTM=0; path=/
        Set-Cookie: BD_HOME=0; path=/
        Set-Cookie: H_PS_PSSID=1420_19033_12896_17943_21092_17001_21161_20719; path=/; domain=.baidu.com
        Content-Encoding: gzip
        Set-Cookie: __bsi=12654872556865954990_00_6_R_N_4_0301_C013_N_I_I_0; expires=Sun, 18-Sep-16 06:45:03 GMT; domain=www.baidu.com; path=/
    • 响应实体内容
      • 就是我们具体显示的内容

post和get方式请求的时候有什么差异:

1. get方式请求参数放在地址栏,post方法参数放在实体内容中

2. get方式会有缓存,post方式没有缓存

3. post方式安全性较高,用户无法直观的查看;get方式安全性较低,用户可以直接查看用户名和密码,最主要原因在于密码会存放在缓存中

4. post发送数据数据量大
    相对较大
get方法数据数据量小
    url长度为2-4K
    但是服务器可以根据安全考虑自定义读取的大小

5. 查询的时候用get
    get方式有缓存,可以减少网络加载资源的时间
    幂等 :重复做相同的操作可以得到相同的结果
--增删改的时候用post
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值