http学习总结

简介

一直想总结一下自己之前做的一个接口自动化测试的一个项目,想了一下直接来写的话有点大,就先从http开始吧。

http协议即超文本传输协议,是应用非常广泛的一种应用层协议,主要有以下特点:
1.支持客户端/服务器模式
2.简单快速。客户端向服务器请求服务时只需要传请求的方法和路径
3.灵活。http协议允许传送任意类型的数据对象,正在传输的类型由request或response的header中的Content-Type标记
4.无连接。http协议限制每次连接只处理一个请求,服务端处理完请求,并得到客户端的响应之后,即断开连接
5.无状态。http是无状态协议指对于每次的事务处理没有记忆功能。

url规则

http://host:[port][abs_path]
http表示使用http协议来定位网络资源,host表示请求的服务器的地址,port为请求的端口号,默认端口为80可以省略,ads_path为请求的路径,如果没有ads_path则用“/”的路径请求资源

http请求

http请求由3部分组成,请求行、消息报头、请求正文
1.请求行格式method request-url http-version crlf
method表示请求方法
request-url表示请求的url
http-version表示请求的协议版本
crlf表示换行和回车
常用的http请求方法:
get 请求获取request-url所表示的资源
post 在request-url所标识的资源后添加新的数据
head 请求获取request-url所标识的资源的响应消息报头

get 在浏览器中输入url访问网页,浏览器采用get方法向服务器获取资源
post 方法要求被请求的服务器接受后面附加的数据,常用来提交表单
head 方法用来获取响应头的header,可以用来测试链接的有效性、得到请求数据的大小(header中的Content-Length)而不用下载数据

http响应

http响应也有三部分组成,状态行、响应头、响应正文
http-version status-code Reason-Phrase crlf
http-version表示服务器的协议版本,status-code表示服务器返回的响应状态码,Reason-Phrase 状态代码的文本, crlf表示回车和换行

http响应状态码,由三位数字组成,第一个数字定义了响应的类别,有以下5中可能的取值
1xx:表示请求已接收正在处理
2xx:表示请求已成功接收
3xx:表示重定向,需要进一步处理
4xx:表示客户端错误,请求有语法错误或无法实现
5xx:表示服务端错误,服务器未能实现合法的请求
常用的http状态码
200/请求成功
400/客户端有语法错误,服务器不能理解
401/请求未经授权,一般和header有关系
403/服务器收到请求,但是拒绝提供服务(禁止访问,爬虫时多会遇到)
405/禁止访问资源(一般接口参数传错会返回此状态码)
500/服务器内部发生错误
503/服务器当前不能处理客户端请求

http消息报头

这里的消息报头即header

请求报头
Accept 表示请求客户端希望接收哪些类型的信息。Accept:image/gif表示客户端希望接收图片类型的数据,Accept:text/html表示客户端希望接收html文本
Accept-Charset表示请求客户端希望接收的字符集。Accept-Charset:iso-8859-1,gb2312如果未设置则表示可以接收任何字符集
Accept-Encoding用于指定可接受的内容编码
Host 发送请求时该报头域是必须的,用于指定被请求资源的地址和端口号
响应header
User-Agent 将请求客户端的操作系统、浏览器和其他属性告诉服务器。这个报头域不是必须的

响应报头
Location 响应报头域用于重定向接收者到一个新的位置
server 响应报头域包含了服务器处理该请求的软件信息,与User-Agent对应

实体报头
请求和响应消息可以传送一个实体报头
常用的实体报头
Content-Length实体报头域指明实体正文的长度,用十进制的字节数来表示
Content-Type实体报头域指明发送给接收者的正文类型
Content-Languaue实体报头域描述了资源所用的自然语言
Content-Encoding实体报头域被用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的附加内容的编码,因而要获得Content-Type报头域中所引用的媒体类型,必须采用相应的解码机制

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,112评论 18 139
  • 转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447...
    喜欢吃栗子阅读 433评论 0 1
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,300评论 6 152
  • 其它参考地址HTTP状态码引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体...
    daf89232a846阅读 1,080评论 0 5
  • 暗恋至始至终都只是一个人的独角戏,纵使我们在自己撰写的故事里尝尽甜头,被恋的那个人却浑然不觉,依旧过着他的生活...
    木子wq阅读 301评论 4 2