HTTP基础知识

前言

在学习node.js时,网址解析这部分内容涉及到HTTP知识。通信协议HTTP,全称HyperText Transfer Protocol。在了解这块知识之前得先理解URL和URI。

  • URL:Uniform Resource Identifier   统一资源标志符
  • URI :Universal Resouce Locator   统一资源定位符

譬如,

http://imooc.com:8080/course/list?from-scott&course-node#floor1

这样复杂的一个地址都包含了什么部分?

protocol底层使用的协议,http:
slashes协议的双斜线,//
authnull
host

域名/IP地址,imooc.com:8080

port端口,8080
hostname主机名,imooc.com
hash哈希值,对应页面某个锚点,#floor1
search查询字符串参数,?from-scott&course-node
query发送给http服务器的数据,from-scott&course-node
pathname访问资源的路径名,/course/list
path路径,/course/list?from-scott&course-node
href未被解析的完整url

以上是nodejs中url.parse解析一个url所得到的结果,下面主要来了解一下HTTP的相关知识。

URL和URI的关系

HHTP和HTTPS区别

HTTP协议用于从网络传输超文本数据到本地浏览器的传输协议,它可保证高效而准确的传送超文本文档。

HTTPS(HyperText Transfer Protocol over Secure Socket Layer)以安全为目标的HTTP通道,HTTP中加入SSL层,是HTTP的安全版。

HTTP请求过程

  1. http客户端发起请求,创建端口。
  2. http服务器在端口监听客户端的请求。
  3. http服务器向客户端返回状态和状态码

其中request包含四个部分:

  1. Request Method  请求方法
  2. Request URL
  3. Request Headers
  4. Request Body

Request Method

  1. GET请求:在浏览器中输入URL,变发起了GET
  2. POST请求,大多在表单提交时发起

GET 和 POST 区别

get请求中的参数含在URL中,显式可见。post请求的URL不包含这些数据,以表单数据形式提交的数据最多1024字节,而对此get请求是没有限制的。

其他的请求方式

HEAD,类似GET,返回的响应中没有具体内容,用于获取报头。

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

DELETE,请求服务器删除指定的页面。

CONNECT,把服务器当跳板,让服务器替代客户端访问其他页面。

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

TRACE,回显服务器收到的请求,主要用于测试/诊断。

Request URL

统一资源定位符,唯一确定想要请求的资源。

Request Headers

请求头,用来说明服务器要使用的附加信息。

常用的头形象
Accept,请求报头域用于指定客户端可接受哪些类型信息
Accept-Language

指定客户端可接受的语言类型

Accept-Encoding指定客户端可接受的内容编码
Host用于指定请求资源的主机IP和端口号,其内容为请求 URL的原始服务器或网关的位置
Cookies网站为辨别用户进行会话跟踪而存储在用户本地的数据,主要功能:维护当前访问会话
Deferer用来标识这个请求是从哪个页面发出来的,服务器获取这一信息并作出相应处理
User_Agent让服务器识别客户端使用的操作系统及其版本,浏览器及其版本
Content_type互联网媒体类型

Request Body

请求体中承载的内容是POST请求中的表单数据。对于GET请求,请求体为空。

Response 响应

  1. Response Status Code 响应状态码,即服务器响应状态
  2. Response Header  包含了服务器对请求的应答信息
  3. Response Body

状态码

1xx

请求已接收,正在处理

2xx请求已接收,处理完成。譬如200,表示OK
3xx完成该请求预计更近一步的操作
4xx客户端错误,可能请求有语法错误。400:客户端语法错误,401:请求未被授权,403:请求被拒绝,404:资源没找到
5xx服务器端错误。500:服务器发生不可预计的错误,503:服务器当前无法处理请求
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值