HTTP文档

http

  • 是客户端与服务端传输文本的一种协议标准
  • http协议是无状态的
  • http协议默认端口是80
  • hrrps协议(加密传输)端口443

一、请求方法

  • get(获取信息页面)
  • post(上传,修改,添加,服务端信息)
  • put(修改)
  • delete(删除)
  • head(只返回头信息)
  • trace(回显服务器收到的请求,主要用于测试或诊断)
  • connect(HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器)
  • options(客户端查看服务器性能)

二、请求报文

  1. 建立TCP连接

在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建
Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,
只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。

  1. Web浏览器向Web服务器发送请求命令

一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。例如:GET/sample/hello.jsp HTTP/1.1。

  1. Web浏览器发送请求头信息

浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。

  1. Web服务器应答

客户机向服务器发出请求后,服务器会客户机回送应答, HTTP/1.1 200 OK ,应答的第一部分是协议的版本号和应答状态码。

  1. Web服务器发送应答头信息

正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。

  1. Web服务器向浏览器发送数据

Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。

  1. Web服务器关闭TCP连接

一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码:

三、HTTP响应报文

在这里插入图片描述
HTTP响应报文主要由状态行、响应头部、空行以及响应数据组成。

1.状态行

由3部分组成,分别为:协议版本,状态码,状态码描述。

其中协议版本与请求报文一致,状态码描述是对状态码的简单描述,所以这里就只介绍状态码。

状态码

状态代码为3位数字。 1xx:指示信息–表示请求已接收,继续处理。 2xx:成功–表示请求已被成功接收、理解、接受。
3xx:重定向–要完成请求必须进行更进一步的操作。 4xx:客户端错误–请求有语法错误或请求无法实现。
5xx:服务器端错误–服务器未能实现合法的请求。

下面列举几个常见的:
在这里插入图片描述
2.响应头部

与请求头部类似,为响应报文添加了一些附加信息

常见响应头部如下:
在这里插入图片描述
3.响应数据

用于存放需要返回给客户端的数据信息。

下面是一个响应报文的实例:

HTTP/1.1 200 OK  状态行
Date: Sun, 17 Mar 2013 08:12:54 GMT  响应头部
Server: Apache/2.2.8 (Win32) PHP/5.2.5
X-Powered-By: PHP/5.2.5
Set-Cookie: PHPSESSID=c0huq7pdkmm5gg6osoe3mgjmm3; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 4393
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
  空行

<html>  响应数据
<head>
<title>HTTP响应示例<title>
</head>
<body>
Hello HTTP!
</body>
</html>

四、http状态码

1xx:响应

2xx:成功

2XX系列响应代码表明操作成功了。

  • 200 get请求成功
  • 201修改成功

3xx:重定向

3XX系列响应代码表明:客户端需要做些额外工作才能得到所需要的资源。它们通常用于GET请求。他们通常告诉客户端需要向另一个URI发送GET请求,才能得到所需的表示。那个URI就包含在Location响应报头里。

  • 302 临时重定向
  • 304 未修改
  • 307 临时重定向

4xx:客户端的问题

这些响应代码表明客户端出现错误。不是认证信息有问题,就是表示格式或HTTP库本身有问题。客户端需要自行改正。

  • 401 未授权
  • 403 禁止访问
  • 404 找不到

5xx:服务器问题

这些响应代码表明服务器端出现错误。

  • 500 服务器内部错误
  • 503 服务器找不到
  • 504 超时

五、GET和POST请求

在这里插入图片描述

  • get可以收藏地址,post不能
  • get可以缓存,post不能缓存
  • get 的内存2048kb,post无限
  • get请求在浏览器地址显示,留历史记录,post参数不会在地址显示,不留历史记录

六、http特点

1、无连接:一次处理一个链接,处理完直接关闭
2、无状态:没有历史记录功能,处理完断开,客户端和服务互相不了解
3、简单快捷:get 和post 还有header求情方式
4、灵活:不同content-type返回上传不同数据类型
5、支持BS和CS

七、互联网专业名词

1、B/S架构:Browser/Server,浏览器/服务器模式
2、C/S架构:Client-Server(C/S)结构
3、To B 产品:各种管理系统,技术负责,图表多
4、ToC 产品:客户直接使用的产品/要求好看,任性化
5、B2C :Businiess To Customer 商家对个人 例如: 京东、淘宝
6、B2B :Businiess To Businiess 商家对商家 例如:1688
7、C 2 C:Customer To Customer 个人对个人 例:咸鱼 转转
8、O2O:online To Offline 线上支付 线下 消费 例:美团
9、P2P:个人对个人 例子:理财

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值