如何简单理解http协议

2015-12-14 17:06:43 6658

[资源分享自马哥教育]

1.httpHyper Text Transfer

Protocol,超文本传输协议。是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext,这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1

2.htmlHyper Text Mark

Language,超文本标记语言。标准通用标记语言下的一个应用。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。

3.html文本框架:

<html>

     <head>

         <title>TITLE</title>

        </head>

        <body>

         <h1>H1</h1>

             <p></p>

                <h2>H1</h2>

                <p> <a href="admin.html">ToGoogle</a> </p>

     </body>

</html>

3.html文档的生成方式:

静态:直接编写

动态:编程语言编写的程序可输出html格式的结果,如,phpjspasp.net

CGI:通用网关接口(Common Gateway Interface/CGI)是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI描述了客户端和服务器程序之间传输数据的一种标准。

4.http首部分为三类:通用首部,请求首部,响应首部

通用首部:

Connection:定义C/S之间关于请求、响应的有关选项

    Cache-Control:缓存控制

请求首部:

Client-IP:客户端IP地址

    Host:请求的主机

    Referer:指明了请求当前资源原始资源的URL,可做防盗链控制

    User-Agent:用户代理

    Accept:服务端能够发送的媒体的类型

    Accept-Charset:可发送的字符集

    Accept-Encoding:可发送的编码方式

    Accept-Language:可发送的语言

    条件式请求;安全相关请求

响应首部:

Age:从最初创建开始,响应持续时间

Server:向客户端说明自己的程序名称和版本

协商首部:

Vary:首部列表,服务器会根据列表中的内容挑一个最适用的版本发送给客户端

跟安全相关:

    WWW-Authentication

    Set-Cookie

实体首部:

    Location:资源的新位置

Allow:允许对此资源使用的请求方法

内容相关的首部:

Content-Encoding:编码方式

    Content-Language:主体最适宜使用的自然语言

    Content-Length:主体的长度或尺寸

    Content-Location:资源实际所处的位置

Content-Type:主体的对象类型

缓存相关:

Etag:与实体相关的实体标记

    Expires:实体不再有效,需要再次获取日期和时间

    Last-Modified:实体最后一次被修改的时间

扩展首部:

非标准首部,可由程序猿自行创建,如:X-Forward-forX-Via

5.http协议请求报文

    <method><request-URL><version>

    <HEADERS>

    <entity-body>

6.http协议响应报文格式

    <version><status><reason-phrase>

    <HEADERS>

    <entity-body>

7.解释:

spSpace)空格符;cr ( carriage return )回车符;lfline feed)换行符。

请求方法

请求的资源,可以是相对路径,如/image/log.jpg,也可以是绝对路径

http协议版本,格式HTTP/.,例如HTTP/1.0HTTP/1.1

各种可以使用的首部

状态码

原因短语,指状态码的易读信息

注意:http协议是无状态,stateless;无连接

8.http方法:

GET:从服务器端获取数据,请求获取一个资源

HEAD:跟GET近似,但其不需要服务响应请求的资源,而返回响应首部

POST:基于HTML表单向服务器提交数据,服务通常需要存储此数据;(位置:通常为关系型数据库)

PUT:与GET相反,向服务器发送资源,服务器通常需要存储此资源;(位置:通常为文件系统)

DELETE:删除URL指向的资源

OPTIONS:探测服务器端对请求的URL所支持使用的请求方法

TRACE:跟一次请求中间所经过的代理服务器、防火墙或网关等

9.http状态码:

1XX:信息性状态码

2XX:成功状态码,如200ok201created

3XX:重定向类状态码;

   301Moved Permanently,永久重定向;

   302,临时重定向,会在响应报文中使用“Location:新位置”,

   304Not Modified

4XX:客户端类错误

   403:请求被拒绝,Forbidden

   404Not Found

   405Method Not Allowed

5XX:服务器类的错误

   500Internal Server Error,服务器内部错误,语法错误等

   502Bad Gateway,代理服务器从上游服务器收到一条伪响应

   503Service Unavailable,服务暂时不可用

10.web服务器:

理解用户请求的资源格式不仅仅是纯html格式的文档

   静态资源

   动态资源:application/php

11.web资源:

资源类型:MIMEMultipurpose Internet Mail Extensions)多用途互联网邮件扩展,是设定某种扩展名的文件用一种应用程序来打开的方式类型,HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型。

major/minor

    text/html

    text/plain

    image/jpeg

    image/gif

    vedio/mpeg4

    application/vnd.ms-powerpoint

资源名称:URI Uniform Resource Idnentifier

   URL:描述一个特定服务器上某资源的特定位置

   http://www.landui.com:81/iis+ftp/serv-u.rar

   分为三部分:

       scheme(方案)http://

       服务器:kmsoft.landui.com:81

       特定服务器上的资源:/iis+ftp/serv-u.rar

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: