zoukankan      html  css  js  c++  java
  • HTTP的一些基本概念

      HTTP协议:HTTP(超文本传输协议)协议就是计算机在网络中进行通信所必须共同遵守的规则,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器,我们目前使用的是HTTP/1.1 版本。

      HTTP协议是无状态的:同一个客户端的这次请求和上次请求是没有对应关系的,对http服务器来说,它并不知道这两个请求来自同一个客户端。为了解决这个问题,Web程序引入了Cookie机制来维护状态。 

      Web服务器,浏览器,代理服务器:当我们在浏览器地址栏输入URL后,我们的浏览器给Web服务器发送一个RequestWeb服务器接到Request后进行处理,生成相应的Response(对象),然后发送回浏览器,浏览器解析Response中的HTML,我们便看到了网页。代理服务器就是网络信息的中转站,其功能主要是提高访问速度(大多代理服务器都有缓存功能),隐藏身份

    URL(Uniform Resource Locator)用于描述一个网络上的资源地址,基本合适为:

      scheme://host[:port#]/path/.../[?query-string]

    scheme: 指定所需要的协议(例如:http,https,ftp)
    host: http服务器的IP地址或者域名
    port# http服务器的默认端口80,这种情况下可以省略。如果使用了其他端口,则必须指明,例如:https://www.cnblogs.com:8080/
    path 访问资源的路径
    query-string 发送给Web服务器的数据

    URL的一个例子:http://localhost/MVCProject/emp?username=7788&password=pwd

    Request:打开一个网页需要浏览器发送多次Request。

      1. 在浏览器输入URL时,浏览器发送一个Request去获取URL地址的html,服务器吧Response发送回浏览器。
      2. 浏览器解析Response中的html,发现其中引用很多其他文件,比如图片,CSS,JS。
      3. 浏览器会自动再次发送Request给服务器去获取图片,CSS,JS等相应的文件。
      4. 等所有文件都下载成功后,网页就被显示出来。

    Get和POST方法:

            http协议定义了很多种与服务器交互的方法,最基本的有4中,分别是GET,POST,PUT,DELETE.一个URL地址用于描述一个网络上的资源,而http中的GET,POST,PUT,DELETE就对应这个资源的查,改,增,删4个操作。我们最常见的是GETPOSTGET一般用于获取/查阅资源信息POST一般用于更新资源信息。

    1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,例如:emp.html?username=7788&password=pwd    POST方法是把提交的数据放在http包的body中。
    2. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制。
    3. GET方式需要使用RequestQueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。
    4. GET后退/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
    5. GET书签可以收藏,POST书签不可收藏。
    6. GET可以缓存,POST不能缓存。
    7. GET编码类型application/x-www-form-url ,POST编码类型encodedapplication/x-www-form-urlencoded 或 multipart/form-data 。为二进制数据使用多重编码。
    8. GET历史参数保留在浏览器历史中。POST参数不会保留在浏览器历史中。
    9. GET对数据长度有限制(URL的最大长度是2048个字符),GET方法向URL添加数据。POST无限制
    10. GET只允许ASCII字符,POST没有限制。
    11. GET安全性较差,发送的数据是URL的一部分,对任何人可见。POST参数不会显示在URL中,也不会保留在浏览器历史或web服务器日志中。

    状态码:

      Response消息中的第一行叫状态行,状态码用来告诉http客户端,http服务器是否产生了预期的Response。HTTP状态码的英文为HTTP Status Code。

    HTTP/1.1中定义了5类状态码,由三位数字组成。第一个数字定义了响应的类别 

    1**信息,服务器收到请求,需要请求者继续执行操作

    2**成功,操作被成功接收并处理

    3**重定向,需要进一步的操作以完成请求

    4**客户端错误,请求包含语法错误或无法完成请求

    5**服务器错误,服务器在处理请求的过程中发生了错误

    下面是常见的HTTP状态码:

    • 200 – 请求成功
    • 301 – 资源(网页等)被永久转移到其它URL
    • 404 – 请求的资源(网页等)不存在
    • 500 – 内部服务器错误

     

  • 相关阅读:
    计算机英语
    NSQ学习记录
    Java学习记录-注解
    VS插件开发

    双链表
    顺序表
    顺序队列
    顺序栈

  • 原文地址:https://www.cnblogs.com/lwhsummer/p/10738811.html
Copyright © 2011-2022 走看看