您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

HTTP协议

  1. URI用字符串标识某一互联网资源,URL表示资源的地点。URL是URI的子集。
    • URI更像是用一个唯一的字符串去描述资源
    • URL则是用一个地址的方式去表示资源
  2. HTTP请求
    方法(POST,GET...) URI HTTP版本
    请求首部字段(请求头)
    (空一格)
    内容实体
    
  3. HTTP响应
    HTTP版本 状态码和原因字段(200 OK)
    响应头
    (空一格)
    内容实体
    
  4. HTTP是无状态协议,它自身不对请求和响应之间的通信状态进行保存,在HTTP这个级别,协议对发送过的请求或响应都不做持久化处理。记住多个客户端的状态很累的。
  5. 持久连接,初始版本中每一次HTTP通信都要断开重连一次TCP连接。通信开销大,1.1中只要任意一端没有明确提出断开连接,就保持TCP连接。
  6. 管线化,以前发送请求后需要等待并收到响应才能发送下一个请求。管线化后,不用等待响应就可以直接发送下一个请求。
  7. Cookie,通过在请求和响应报文中写入Cookie信息来控制客户端的状态。
    • Cookie会根据从服务器发送的响应报文内的Set-Cookie的首部字段信息,通知客户端保存Cookie。下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后发送出去。
    • 服务器发现发送来的Cookie,回去检查是从哪一个客户端发来的请求,然后对比服务器上的记录,最后得到之前的状态信息。
    --请求
    GET /reader/ HTTP/1.1
    Host: hackr.jp
    
    --响应
    HTTP/1.1 200 OK
    Date: Thu, 12 Jul 2012 07:12:20 GMT
    Server: Apache
    <Set-Cookie: sid=1342077140226724; path=/; expires=Wed,10-Oct-12 07:12:20 GMT>
    Content-Type: text/plain; charset=UTF-8
    
    --下一次请求
    GET /image/ HTTP/1.1
    Host: hackr.jp
    Cookie: sid=1342077140226724
    

GET

  1. 获取资源,用来请求访问已经被URI识别的资源。
  2. 服务器,我要XXX资源

POST

  1. 传输实体主体,GET也可以。POST的主要目的不是获取响应的主体内容。
  2. 我要把这条消息(实体主体)告诉服务器

PUT

  1. 传输文件,一般是上传文件。
  2. HTTP/1.1的PUT方法自身不带验证机制,任何人都可以上传文件,存在安全性问题。一般不用。
  3. 我要把这份文件传输传给服务器
  4.     --请求
        PUT /test.html HTTP/1.1
        Host: www.hackr.jp
        Content-Type: text/html
        Content-Length: 1560(1560字节的数据)
    
        --响应
        响应返回204 Not Content(文件已经存在于服务器上)
    

HEAD

  1. 获取报文首部,和GET一样,只是不返回报文主体部分,用于确认URI有效性以及资源更新的日期时间…
  2. 服务器,我要资源的相关信息

DELETE

  1. 用来删除文件,同样不带验证机制,一般不使用。
  2. 我要删除这个资源

OPTIONS

  1. 询问服务器支持的方法,用来查询针对请求URI指定的资源支持的方法
  2.     --请求
        OPTIONS * HTTP/1.1
        Host: www.hackr.jp
    
        --响应
        HTTP/1.1 200 OK
        Allow: GET,POST,HEAD,OPTIONS
    

TRACE

  1. 追踪路径,发送请求时,在Max-Forwards首部字段中填入数值,每经过一个服务器端,就将数字减1,数字为0时,停止传输,在最后一个接收到请求的服务器端返回状态码200 OK的响应。
  2. 不常用,容易引发XST攻击。
  3. 回显服务器收到的请求,主要用于测试或诊断。

CONNECT

  1. 要求用隧道协议连接代理,在于代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。协议吧通信内容加密后经网络隧道传输。
  2. 基本格式CONNECT 代理服务器名:端口号 HTTP版本

状态码

  1. 表示客户端HTTP请求的返回结果,标记服务器端的处理是否正常,通知出现的错误等…
  2. 格式: 三位数字 原因短语,200 OK
  3. 分类,第一位数字指定了响应类别,后两位无分类
    • 1XX,信息性状态码,接受的请求正在处理
    • 2XX,成功状态码,请求正常处理完毕
    • 3XX,重定向状态码,需要进行附加操作以完成请求
    • 4XX,客户端错误状态码,服务器无法处理请求
    • 5XX,服务器错误状态码,服务器处理请求出错
  4. 常见状态码
    • 200 OK,请求被正常处理
    • 204 No Content,请求处理成功,但没有资源返回
    • 404 Not Found,服务器无法找到资源,或者拒绝服务且不想说明理由
    • 500 Internal Server Error,服务端执行请求时发生错误,比如有Bug

HTTPS(HTTP + SSL)

  1. HTTP缺点
    • 通信使用明文,可能被窃听
    • 不验证通信方的身份,可能被伪装
    • 无法证明报文的完整性,可能被篡改
  2. SSL
    • 提供加密处理
    • 使用证书,证书由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的
    • 完整性验证(了解,并不知道怎么验证的)
  3. HTTPS比HTTP慢,更消耗资源。证书也要花钱。但是安全。

分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进