HTTP协议

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议),用于web服务器和客户端浏览器之间的超文本传输。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP特点:

     无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

     媒体独立的:这意味着,只要客户端和服务器知道处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。

     无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。


http工作过程(图片源于网络)


HTTP请求:

    HTTP请求包含三部分,分别是

    请求行:包含请求方法Method、服务器资源路径URL、HTTP版本信息Version;

    请求头:包括一些访问的域名、用户代理、Cookie等信息;

    请求体:HTTP请求的一些数据。

    HTTP响应包含三部分,分别是:

    状态行:包含HTTP版本Version、状态码、状态码原因短语(状态码含义:http网络请求 接口测试返回statusCode(状态码)含义);

    响应头:包括搭建服务器的软件、发送响应的时间Date、回应数据的格式Content-Type等信息;

    响应正文:响应的具体数据。

常用的HTTP请求方法:

    GET: 请求指定的页面信息,并返回实体主体。

    HEAD: 用于获取报头,与GET方法类似,只是不返回报文主体,一般用于验证URL是否有效。

    POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。

    PUT: 从客户端向服务器传送的数据取代指定的文档的内容。

    DELETE:请求服务器删除对应URL位置的文件。

    OPTIONS:允许客户端查看服务器的性能。

GET方法与POST方法的区别:

        1、get重点在从服务器上获取资源,post重点在向服务器发送数据;

        2、get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/login?name=admin&password=123456,这个过程用户是可见的;post传输数据是,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的; 也因此post比get安全性更高;

        3、get传输的数据量小,因为受URL长度限制,但效率较高;post可以传输大量数据;

        4、get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。post支持标准字符集,可以正确传递中文字符。

常见的请求头

● User-Agent:产生请求的浏览器类型;

● Accept:客户端可识别的响应内容类型列表;星号 “ * ” 用于按范围将类型分组,用 “ */* ” 指示可接受全部类型,用“ type/* ”指示可接受 type 类型的所有子类型;

● Accept-Language:客户端可接受的自然语言;

● Accept-Encoding:客户端可接受的编码压缩格式;

● Accept-Charset:可接受的应答的字符集;

● Host:请求的主机名,允许多个域名同处一个IP 地址,即虚拟主机;

● connection:连接方式(close 或 keepalive);

● Cookie:存储于客户端扩展字段,向同一域名的服务端发送属于该域的cookie;

请求头更多详情可查看——HTTP请求头

Content-Type常见的几种值

常见的媒体格式类型:

    text/html : HTML格式

    text/plain :纯文本格式      

    text/xml :  XML格式

    image/gif :gif图片格式    

    image/jpeg :jpg图片格式 

    image/png:png图片格式

    multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式

    application/xhtml+xml :XHTML格式

    application/xml     : XML数据格式

    application/atom+xml  :Atom XML聚合格式    

    application/json    : JSON数据格式

    application/pdf       :pdf格式  

    application/msword  : Word文档格式

    application/octet-stream : 二进制流数据(如常见的文件下载)

    application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,252评论 6 516
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,886评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,814评论 0 361
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,869评论 1 299
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,888评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,475评论 1 312
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,010评论 3 422
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,924评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,469评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,552评论 3 342
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,680评论 1 353
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,362评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,037评论 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,519评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,621评论 1 274
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,099评论 3 378
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,691评论 2 361