HTTP文档

    技术2022-07-11  85

    http

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

    一、请求方法

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

    二、请求报文

    建立TCP连接

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

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

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

    Web浏览器发送请求头信息

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

    Web服务器应答

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

    Web服务器发送应答头信息

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

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

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

    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:个人对个人 例子:理财

    Processed: 0.013, SQL: 11