美文网首页我爱编程
你该懂的HTTP协议

你该懂的HTTP协议

作者: pengxiaochao | 来源:发表于2017-11-01 19:47 被阅读38次
  1. HTTP 是什么
  2. URL 详解
  3. HTTP 之请求篇
  4. HTTP 之响应篇
d6ca7bcb0a46f21f2a74db17f6246b600c33ae36.jpg

一、HTTP是什么

1、概述</br>

HTTP 全称是 <em style="color:red">HyperText Transfer Protocal </em>,即:超文本传输协议,从 1990 年开始就在 WWW 上广泛应用,是现今在 WWW 上应用最多的协议,HTTP 是应用层协议,当你上网浏览网页的时候,浏览器和 web 服务器之间就会通过 HTTP 在 Internet 上进行数据的发送和接收。HTTP 是一个基于请求/响应模式的、无状态的协议。即我们通常所说的 <em style="color:red">Request/Response</em>

http 协议簇

TCP IP 协议图_thumb.jpg
2、特点

支持客户端/服务器模式</br>
简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP 协议简单,使得HTTP 服务器的程序规模小,因而通信速度很快
灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由 Content-Type 加以标记
无连接:无连接的含义是限制每次链接只处理一个请求。服务器处理完哭护的请求,并收到客户的应答后,即断开链接,采用这种方式可以节省传输时间
无状态:HTTP 协议是无状态协议。无状态是指协议对于事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能会导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快


二、URL详解

1、简介

<em style="color:red">URL(Uniform Resource Locator)</em>是统一资源定位符的简称,有时候也被俗称为网页地址(网址),如同是网络上的门牌,是因特网上标准的资源的地址

2、基本组成

通用的格式:<em style="color:red">schema://host[:port#]/path/…/[?query-string][#anchor]</em>

名称 功能
schema 访问服务器以获取资源时要使用哪种协议,比如,http,https 和 FTP 等
host HTTP 服务器的 IP 地址或域名
port HTTP 服务器的默认端口是 80,这种情况下端口号可以省略,如果使用了别的端口,必须指明,例如http://www.cnblogs.com:8080
path 访问资源的路径
query-string 发给 http 服务器的数据
anchor

举个例子:http://www.mywebsite.com/sj/test/test.aspx?name=sviergn&x=true#stuff 其中

名称 功能
Schema http
host www.mywebsite.com
path /js/test/test.aspx
Query-string name=sviergn&x=true
anchor stuff

再来张比较直观的图


三、HTTP 之请求篇

HTTP 的请求报文分为三个部分, <em style="color:red">请求行、请求头、请求体</em>

1、请求行</br>

请求行(Request line)分为三个部分:请求方法、请求地址和协议版本
请求方法
<em style="color:red">HTTP/1.1</em> 协议中共定义了八种方法(也叫“动作”)来以不同的方式操作指定的资源

方法名 功能
GET 向指定的资源发出“显示”请求,使用 GET 方法应该只用在读取数据上,而不应该用于产生“副作用”的操作中
POST 指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求文本中。这个请求可能会创建新的资源或者修改现有资源,或两者皆有。
PUT 向指定资源位置上传其最新内容
DELETE 请求服务器删除 Request-URI 所标识的资源
OPTIONS 使服务器传回该资源所支持的所有HTTP请求方法。用*来代替资源名称,向 Web 服务器发送 OPTIONS 请求,可以测试服务器功能是否正常运作
HEAD 与 GET 方法一样,都是向服务器发出指定资源的请求,只不过服务器将不传回资源的本文部分,它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中关于该资源的信息(原信息或称元数据)
TRACE 显示服务器收到的请求,主要用于测试或诊断
CONNECT HTTP/1.1 中预留给能够将连接改为通道方式的代理服务器。通常用于 SSL 加密服务器的链接(经由非加密的 HTTP 代理服务器)

其中,最常见的是 GETPOST 方法,如果是 RESful 接口的话一般会用到PUTDELETEGETPOST(分别对应增删查改),这里附上一篇有关 REST 的文章 什么是 RES

2、请求头
请求头可用于传递一些附加信息,格式为:键: 值,注意冒号后面有一个空格:

wKiom1SIBljRr48mAAFPpXRKpXU847.jpg

参考的文章
你应该知道的 HTTP 基础知识
http协议-简介

相关文章

  • 你该懂的HTTP协议

    HTTP 是什么URL 详解HTTP 之请求篇HTTP 之响应篇 一、HTTP是什么 1、概述
    HTTP...

  • 浅谈HTTP构成

    1.http协议 http全称Hypertext Transfer Protocol超文本传输协议,该协议用于规定...

  • 服务器上的Git

    这章内容没咋懂。 一: 协议: local 协议 http 协议 ssh 协议 Git 协议 二:SSH公钥许多 ...

  • HTTP协议

    HTTP协议又叫超文本传输协议,该协议是工作在应用层。 HTTP的作用 当两台计算机使用HTTP协议通信时...

  • HTTP协议基础必懂

    HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用...

  • URL的构成有哪些部分

    1.协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种...

  • HTTP

    程序员都该懂点 HTTP

  • 第六个模块 HTTP协议、Restful

    HTTP协议 · HTTP协议 · 工作原理 HTTP协议请求 HTTP协议响应 HTTP协议消息报头 1、普通报...

  • HTTP 、TCP、 IP、socket 协议

    参考 3.谈谈你对HTTP 、TCP、 IP、socket 协议的理解。 HTTP 超文本传输协议 (HTTP,H...

  • HTTP

    HTTP:HyperText Transfer Protocol,超文本传输协议该协议是互联网上应用最为广泛的一种...

网友评论

    本文标题:你该懂的HTTP协议

    本文链接:https://www.haomeiwen.com/subject/hnogpxtx.html