[原]HTTP

董孟愿 18/08/07 11:33:08

介绍

-应用层协议,由请求和响应构成。

-无状态协议,永远是客户端发起请求,服务器回送响应。

-用于从万维网服务器传输超文本到本地浏览器的传送协议。

 

无状态:指协议对事务处理没有记忆,如果后续处理需要前面的信息,则必须重传(导致每次连接传送的数据量增大)

无状态解决办法:

       -cookie

       -通过session会话保存

协议组成

请求报文:

      -请求行:包含请求方法,URI,HTTP版本信息

      -请求首部字段

      -空行

      -请求内容实体

响应报文:

      -状态行:包含HTTP版本,状态码,状态码的原因短语 

      -响应首部字段

      -空行

      -响应内容实体

请求方式

      -GET:用于请求访问已被URI(统一资源标识符)识别的资源

      -POST:用于传输信息给服务器

      -PUT:

      -HEAD:
      -DELETE:

      -OPTIONS:

缺点

     -通信使用明文不加密,内容有可能被窃听

     -不验证通信方身份,可能遭伪装

     -无法验证报文的完整性

GET VS POST

     -GET侧重从服务器获取资源,POST侧重向服务器发送数据

     -GET传输数据是通过URL请求,URL对用户可见,会泄漏私密信息

       POST通过http的post机制,将字段与对应值封存在请求实体中,对用户不可见

     -GET传输数量小(受URL长度限制),但是效率高

       POST可传输大量数据(上传文件只能用post方式)

    -GET只支持ASCII字符,向服务器传中文字符可能会乱码

      POST支持标准字符集

常见状态码

      -1XX:指示信息---表示请求已接收,继续处理
      -2XX:成功---表示请求已被成功接收,理解,接受

      -3XX:重定向---要完成请求必须进行更进一步操作

      -4XX:客户端错误---请求有语法错误/请求无法实现

      -5XX:服务器端错误---服务器未能实现合法请求

eg:

      200:请求被正常处理

      400:客户端附近有语法错误,不能被服务器识别

      404:服务器无法找到对应资源(输错URL)

      500:服务器内部错误

当输入www.google.com时

     1.域名解析

     2.tcp三次握手建立连接

     3.发起http请求

     4.服务器端响应http请求,浏览器得到http请求的内容

     5.浏览器解析html代码,请求html代码中的资源

     6.浏览器对页面进行渲染,展现给用户

作者:dongmengyuan1020 发表于 2018/08/07 11:33:08 原文链接 https://blog.csdn.net/dongmengyuan1020/article/details/81478427
阅读:18