客户端和服务器端:

  • 仅从一条通信路线来说,服务器端和客户端是确定的;
  • HTTP协议规定,通信一定是先从客户端开始建立,服务器端在没有接受到请求之前不会发送响应;

不保存状态:

  • HTTP是无状态协议,对发送过的请求和响应都不做持久化处理,即不会根据之前的请求和响应的状态进行本次请求处理;
  • 这是为了更快地处理大量事务;
  • 使用cookie技术可以进行弥补;

请求/响应报文:

  • 请求报文     //请求方法、请求URL、协议版本、可选请求首部字、内容实体
GET    /index.html    HTTP/1.1
Host: hackr.jp ------------------------------------
POST /form/enrty HTTP/1.1 Host: hackr.jp
Connection: keep-alive
Connection-Type: application/x-www-form-urlencoded
Content-Length: 16 name=ueno&age=37
  • 响应报文   //协议版本、状态码、解释状态码的原因短语、可选的响应首部字段、响应主体
HTTP/1.1    200   OK 

Date: Tie, 10 Jul 2012 06:50:15 GMT
Content-Length: 362
Content-Type: text/html <html>
......................
  • 请求方法:HTTP/1.1

    • GET:用来请求访问已被URI识别的资源;指定的资源经服务器端解析后返回响应内容;即:

      • 请求文本,直接返回;
      • 请求CGI(通过网关接口)那样的程序,则返回执行后输出的结果;
    • POST:用来传输实体的主体;
    • HEAD:和GET方法一样,只是不返回报文主体部分,用于确认URI的有效性及资源更新的日期时间;
    • OPTIONS:用来查询针对请求URI指定资源支持的方法;
    • PUT:传输文件,要求在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置;由于HTTP/1.1的PUT方法自身不带验证机制,因此一般不采用;
    • DELETE:删除文件,与PUT方法相反;但也不不带验证机制,一般不采用;
    • TRACE:让web服务器端将之前的请求通信返回给客户端;可以用来查询发送出去的请求是怎样被加工修改的;但不常用且易引发XST(跨站追击);
    • CONNECT:要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信;

持久连接:早期的HTTP协议中每进行一次通信就断开TCP连接;目前的HTTP协议已经实现了持久化连接;只要任意一端没有明确提出断开连接,则保持TCP连接状态;

管线化:从前发送请求后需等待并收到响应才能发送下一个请求;持久化连接实现之后,可以实现管线化技术,即同时并行发送多个请求;

Cookie的状态管理://Cookie技术通过在请求和响应报文中写入Cookie信息来控制客户端的状态;

  • 客户端:cookie会根据从服务器端发送的响应报文内觉得Set-Cookie的首部字段信息通知客户端保存Cookie;当下次客户端往服务器端发送请求时,客户端会自动在请求报文中加入Cookie值后发送出去;
  • 服务器端:发现客户端发送过来的Cookie之后,会去检查究竟是从哪一个客户端发出的连接请求,然后对比服务器上的记录,最后得到之前的状态信息;

HTTP基础02--HTTP协议简介的更多相关文章

  1. UNIX/Linux网络编程基础:应用层协议简介

    目录 1.HTTP协议 2.FTP协议 3.TELNET协议 4.NFS协议 1.HTTP协议 应用层协议HTTP协议是Web的核心.HTTP协议在Web的客户程序和服务器程序中得以实现,运行在不同系 ...

  2. C#3.0新增功能09 LINQ 基础02 LINQ 查询简介

    连载目录    [已更新最新开发文章,点击查看详细] 查询 是一种从数据源检索数据的表达式. 查询通常用专门的查询语言来表示. 随着时间的推移,人们已经为各种数据源开发了不同的语言:例如,用于关系数据 ...

  3. J2EE基础之Web服务简介

    J2EE基础之Web服务简介 1.什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的.实时的,它是专业的气象站提供的一种服务.例如,在网上购物时,通常采用网上 ...

  4. HTTP 协议简介

    HTTP 协议简介 博客分类: acl开发--HTTP协议篇 网络协议http协议  一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是 ...

  5. HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端

    协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...

  6. python 全栈开发,Day66(web应用,http协议简介,web框架)

    一.web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...

  7. web应用,http协议简介,web框架

    一.web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...

  8. 转:SATA协议简介

    SATA协议简介 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/FA99999/article/details/70738724 1.概述 本文档主 ...

  9. 网络编程基础:网络基础之网络协议、socket模块

    操作系统(简称OS)基础: 应用软件不能直接操作硬件,能直接操作硬件的只有操作系统:所以,应用软件可以通过操作系统来间接操作硬件 网络基础之网络协议: 网络通讯原理: 连接两台计算机之间的Intern ...

  10. web开发基础之HTTP协议

    HTTP协议 HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数 ...

随机推荐

  1. tomcat服务器配置及使用

    序:tomcat作为免费开源的web服务器,广受大家喜欢,但是该如何使用此服务器呢?下面就一步一步教大家操作tomcat服务器 一.权限配置 编辑tomcat-users.xml文件配置tomcat服 ...

  2. spring - 自定义注解

    本自定义注解的作用:用于控制类方法的调用,只有拥有某个角色时才能调用. java内置注解 1.@Target 表示该注解用于什么地方,可能的 ElemenetType 参数包括: ElemenetTy ...

  3. CKEditor使用笔记

    相关资源 1. 首页地址:http://ckeditor.com/ 2. 下载地址:http://ckeditor.com/download 3. SDK地址:http://sdk.ckeditor. ...

  4. Java中Properties类的操作

    知识学而不用,就等于没用,到真正用到的时候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写,外加 ...

  5. quaternion*Vector3的新理解

    原地址:http://www.cnblogs.com/88999660/p/3262656.html using UnityEngine; using System.Collections; publ ...

  6. Lucas的数论题解

    Lucas的数论 reference 题目在这里> < Pre 数论分块 默认向下取整时. 形如\(\sum\limits_{i=1}^n f\left( \frac{n}{i}\righ ...

  7. 创建一个最简单的Linux随机启动服务

    转自: http://xiaoxia.org/2011/11/15/create-a-simple-linux-daemon/

  8. JavaScript 在页面上显示数字时钟

    显示一个钟表 拓展JavaScript计时:http://www.w3school.com.cn/js/js_timing.asp setTimeout() 方法会返回某个值.在下面的语句中,值被储存 ...

  9. iOS7 status bar 样式问题

    在ios7中,有如下status bar 样式 typedef NS_ENUM(NSInteger, UIStatusBarStyle) { UIStatusBarStyleDefault = , / ...

  10. codeforces A. K-Periodic Array 解题报告

    题目链接:http://codeforces.com/problemset/problem/371/A 题目意思:给出n和k和一个只有1或者2组成的序列,需要求出最少的改变次数,使得 n/k 组里面的 ...