简述HTTP请求过程

HTTP(HyperText Transfer Protocol)超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是一个简单的请求-响应协议,是客户端和服务端之间请求和应答的标准,它通常运行在 TCP(传输控制协议)之上,由统一资源标识符(Uniform Resource Identifiers,URI 包含 URL 和 URN )来标识。

HTTP 通过使用浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。HTTP是万维网的数据通信的基础。

继续阅读“简述HTTP请求过程”

简述URL

在说 URL 之前,我们得需要先知道什么是 URI(Uniform Resource Identifier),统一资源标志符。URI 简单地说就是如何把一个资源唯一地标识出来

假如我们要标识出某一个人,可以通过名字的方式(假设每个人的名字都不一样),也能通过身份证的方式,那么这里的名字、身份证号码等是直接匹配到的,称为 URN(Uniform Resource Name)。

除了直接匹配的方法,我们还能够通过一系列规则来标识出一个人,比如——地址://中国/浙江省/杭州市/西湖区/某某街道/某某号/张三;或者——族谱://爷爷张三/爸爸李四/儿子王五,这些规则,就是 URL(Uniform Resource Locator),统一资源定位器。

而 URL、URN 都属于 URI。

继续阅读“简述URL”

HTTP请求方法

HTTP请求方法是HTTP请求中必不可少的一部分,需要我们熟悉并掌握。最开始的 HTTP1.0 中定义了三种请求方法:GET、POST 和 HEAD。后来的 HTTP1.1 中又新增了五种:PUT、DELETE、OPTIONS、TRACE 和 CONNECT。当然除了这八种请求方法,特定的HTTP服务器还能够扩展自定义的方法。例如实现局部更新的 PATCH 等方法。接下来就简单介绍一下八种基本的请求方法。

继续阅读“HTTP请求方法”

HTTP响应头

HTTP响应头向客户端提供一些额外信息,比如谁在发送响应、响应者的功能,甚至与响应相关的一些特殊指令。这些头部有助于客户端处理响应,并在将来发起更好的请求。对响应头的操作是后端开发者的任务。

继续阅读“HTTP响应头”

HTTP请求头

请求头用于说明是谁或什么在发送请求、请求源于何处,或者客户端的喜好及能力。服务器可以根据请求头部给出的客户端信息,试着为客户端提供更好的响应。

请求头一般都会随着请求自动完善发出,大多都不需要我们做额外的设置,常用的可能就是用Content-type 指定请求的内容,比如说 Content-Type: application/form-data 表示提交的数据格式为表单数据。不过如果你要发送一些特殊的请求,比如说爬虫的时候,通过修改请求头信息,就能够伪造请求信息了,比如说手动加cookie;或者通过修改User-Agent,实现用户代理等等。

继续阅读“HTTP请求头”