zoukankan      html  css  js  c++  java
  • HTTP学习记录:一、协议基础

    学习资源主要为:@小坦克HTTP相关博客

    1HTTP简介:

      HTTP协议是Hyper Text Transfer Portocol(超文本传输协议)的缩写,它是一种通信协议,允许将超文本(即:html文档)从Web服务器传输到本地浏览器的传输协议。

    目前我们使用的是HTTP/1.1版本。

    2HTTP工作原理

      HTTP协议工作于客户端-服务端架构。浏览器作为HTTP的客户端,通过URLHTTP服务端发送请求,HTTP服务端在接到请求后,向客户端发送响应信息。

      (在HTTP请求的客户端与服务器之间,有可能还存在代理服务器,客户端在请求时,先将请求发送到打理服务器,然后代理服务器请求服务器再进行返回。一般代理服务器都具有缓存的功能,这样可以提高访问速度。)

    3URL说明

      因客户端请求是通过URL的,所以针对URL进行简单的说明:

      URLUniform Resource Locator(统一资源定位符)的缩写,用于描述一个网络上的资源。

    基本格式为:

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

    schema:指定使用的协议;

    host:是指服务端的IP地址/域名;

    port:端口,一般默认使用80端口,可以不写,如果使用的是其他接口,就需要带端口号。

    path:是指请求的路径;

    query-string:请求传递的参数;

    anchor:锚;

    4、消息结构

    1、请求消息

    request消息分为3部分:请求行、请求头和请求体。在请求头和请求体之间会有一个空行。

    请求行中,主要显示:请求方法、请求资源路径和协议版本号;

    2、响应消息

    response消息和request消息结构基本一致,包括响应行、响应头和响应体。

    5http的无状态与connectkeep-alive

    无状态是指协议对于处理事务没有记忆能力,服务器不知道客户端是什么状态。

    HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

      Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间

  • 相关阅读:
    java throws处理
    java 对象的向下转型
    模仿百度三维地图的js数据
    MyEclipse:Address already in use
    Javascript 的addEventListener()及attachEvent()区别分析
    Javascript获得URL参数
    filter : progid:DXImageTransform.Microsoft.AlphaImageLoader
    TortoiseSVN使用简介(来自网络)
    javascript控制鼠标中键滑动
    跨浏览器实现自定义事件处理
  • 原文地址:https://www.cnblogs.com/smallstone2018/p/10001328.html
Copyright © 2011-2022 走看看