美文网首页
HTTP 初识 ---非专业整理,菜鸟

HTTP 初识 ---非专业整理,菜鸟

作者: 欢乐的乐 | 来源:发表于2017-04-27 09:51 被阅读20次
前言:

现在正在从事Android开发,一直以来对网络模块的认识都非常的模糊。
对于HTTP这方便的知识一窍不懂,有时候看别人整理的资料太多理论知识根本看不懂,于是整理了这篇文章方便自己回顾,也希望能帮助像我一样不太懂后台的人。

URI和URL

URI (Uniform Resource Identifiers) 统一资源标示符
URL(Uniform Resource Locator) 统一资源定位符,是一种特殊类型的URI。
URI和URL一直都经常混乱,不过细看了URL是怎么组成的,就不怕混乱了。

URL一般由三部组成:
  1. 协议(或称为服务方式)
  2. 存有该资源的主机IP地址(有时也包括端口号)
  3. 主机资源的具体地址。如目录和文件名等

于是我理解成是一个地址


Request和Response

Request请求:

由请求行、请求头部、空行、请求数据四个部分组成
请求行:
GET /[要访问的资源] HTTP/1.1
POST / HTTP/1.1

Response响应:

由状态行、消息报头、空行、响应正文四个部分组成
状态行:
HTTP/1.1 200 OK

HTTP状态码:

状态码由三位数字组成,第一个数字定义了响应的类型,共分为五类:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求

常见状态码:

200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

GET提交:

GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连。


HTTP协议

原理:

HTTP 是基于TCP/IP协议的应用层协议。
它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。

Content-Type:

HTTP允许传输任意类型的数据对象,传输的类型由Content-Type标记。
浏览器是依靠Content-Type来判断响应的内容是网页还是图片,是视频还是音乐。
常用的Content-Type属性:

属性 内容
text/html .html 网页
image/jpeg .jpeg和.jpg 图片文件
image/png .png 图片文件
application/json json语句(接口的时候经常用)
application/octet-stream .* (二进制流,不知道文件类型)
application/x-www-form-urlencoded Form数据被编码为名称/值对
multipart/form-data Form数据被编码为一条信息,页面上的每个空间对应消息中的一个部分。
application/x-www-form-urlencoded和multipart/form-data在Form中的用法:(大神总结的)
  • form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。
  • 当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。
  • 当action为post时候,浏览器把form数据封装到http body中,然后发送到server。
  • 如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。 但是如果有type=file的话,就要用到multipart/form-data了。
application/x-www-form-urlencoded的请求例子:

POST /app/user/login HTTP/1.1
Host: 10.240.131.7:8080
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: 05234002-4223-66fb-34f8-9be70557a745

username=potato&password=112233


好好学习,天天向上。<( ̄oo, ̄)/


Potato_zero.jpg

相关文章

  • HTTP 初识 ---非专业整理,菜鸟

    前言: 现在正在从事Android开发,一直以来对网络模块的认识都非常的模糊。对于HTTP这方便的知识一窍不懂,有...

  • 初识HTTP

    初识HTTP HTTP全称“超文本传输协议” 超文本传输协议是一种用于分布式、协作式和超媒体信息系统的应用层协议。...

  • 初识Http

    1,简介 作为一个安卓开发者,从安卓开发的角度学习下HTTP。先来对HTTP有个大概的印象吧,一步一步慢慢了解。 ...

  • 2018-01-29 前端学习基础规划

    结合上网和笔记本整理在这,进行学习。 三大学习环境: 1.各种菜鸟教程:http://www.runoob.com...

  • HTA2.0芯片比较麻烦

    表达芯片数据处理教程,早在2016年我就系统性整理了发布在生信菜鸟团博客:http://www.bio-info-...

  • 初识封装(Http)

    1、方法参数过多时,可用实例类将参数抽取出来,再用构造函数实例化。 2、暴露给外部一个方法public,其余用pr...

  • 初识HTTP/1.1

    本文为《三万长文50+趣图带你领悟web编程的内功心法》第二个章节。 2、初识HTTP/1.1 接下来我们先来简单...

  • MYSQL 基本语法(上篇)

    @[TOC] MYSQL 本文整理自 菜鸟教程希望查看原文的请移步 菜鸟教程 安装 MYSQL MYSQL 下载 ...

  • Hadoop--笔记

    Java之美[从菜鸟到高手演练]之初识Hadoop - 智慧演绎,无处不在 - 博客频道 - CSD...

  • Spring教程检视阅读(上)

    Spring教程检视阅读 地址 可供参考的教程 《菜鸟学 SSH》 《Spring Boot 那些事》 《初识 S...

网友评论

      本文标题:HTTP 初识 ---非专业整理,菜鸟

      本文链接:https://www.haomeiwen.com/subject/mrvsattx.html