http协议入门

超文本传输协议(英文缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。

设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。

  1. HTTP请求格式
    客户端通过发送 HTTP 请求向服务器请求对资源的访问。它向服务器传递了一个数据块,即请求信息。Http请求由三部分组成,分别是:请求行、请求头、请求正文。
    请求的第一行是“方法 URL 协议/版本”,并以回车换行作为结尾。请求行以空格分隔。格式如下:POST /index.php HTTP/1.1
    其中“GET”代表请求方法,“//index.php”表示URI,“HTTP/1.1”代表协议和协议的版本。
    HTTP1.1支持7种请求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。在Internet应用中,最常用的方法是GET和POST。
    URL完整地指定了要访问的网络资源,通常只要给出相对于服务器的根目录的相对目录即可,因此总是以“/”开头,最后,协议版本声明了通信过程中使用HTTP的版本。
    请求头每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。HTTP最常见的请求头如下:Transport 头域(Connection、Host)、Client 头域(Accept)、Cookie/Login 头域、Entity头域、Miscellaneous 头域、Cache 头域。

  2. HTTP响应格式
    一个HTTP响应代表服务器向客户端回送的数据,包括:一个状态行、若干消息头、以及实体内容。
    状态行由协议版本、数字形式的状态代码,及相应的状态描述组成,各元素之间以空格分隔,结尾时回车换行符,例如:HTTP/1.1 200 OK (CRLF)
    HTTP最常见的响应头有Cache头域、Location头域、Entity实体头域等。
    响应正文就是服务器返回的资源的内容,响应头和正文之间也必须用空行分隔。
    HTTP是一个无状态的面向连接的协议。无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。另一方面,开启了Connection: Keep-Alive后,服务器与客户端间保持连接,但这和无状态是两个概念,只是代表,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。

相关推荐:
HTTP 协议入门 - 阮一峰
HTTP详解(2)-请求、响应、缓存 - 真实的归宿

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,499评论 6 152
  • HTTP概述 超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最...
    曹渊说创业阅读 3,884评论 2 61
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 5,260评论 3 82
  • 前言:最近发现自己在网络相关这一块基础很是欠缺,所以准备花时间了解一下,本文主要是讲http协议的一些基础,和一些...
    justCode_阅读 2,111评论 0 23
  • 本文整理自MIN飞翔博客 [1] 1. 概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或...
    HoyaWhite阅读 2,708评论 2 20