开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第21天,点击查看活动详情
http底层工作原理
1.一个完整的HTTP请求过程,通常有下面7个步骤
1)建立TCP连接。
2)Web浏览器向Web服务器发送请求命令。
3)Web浏览器发送请求头信息。
4)Web服务器应答。
5)Web服务器发送应答头信息。
6)Web服务器向浏览器发送数据。
7)Web服务器关闭TCP连接。
2.一个HTTP请求一般由四个部分组成
1)HTTP请求的方法或动作,比如是GET请求还是POST请求。
2)正在请求的URL,就是请求的地址(我们输入的一般是网址)。
3)请求头,包含一些客户端环境信息,身份验证信息等。
4)请求体,也就是请求正文,请求正文中可以包含客户提交的查询字符信息,表单信息等等。
3.HTTP请求的两种方式
GET请求:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符,GET请求一般用于获取信息,换句话说,就是查询,查询不会影响数据本身。但是GET请求发送的信息对任何人都是可见的,这样对数据的保密性就比较低了。
POST请求:一般用于修改服务器上的资源。对所发送信息的数量无限制。通过POST方法一般用来从表单发送数据,这些对数据对其他人是不可见的,所以相对于GET请求来说保密性就高得多。
4.http请求和响应的规范
http发起请求的底层原理,大家其实都知道了,理解了那个原理,就一通百通了。那么来聊下http请求和响应的规范吧。其实请求的报文,就是请求头、请求方法、请求正文,GET/POST啥的,应该都知道;请求头,自己百度一下吧,作为一个工程师必须知道。响应,状态行,响应头,响应正文,状态行,200,400,500;响应头大概如下。
- 1xx 表示【临时响应】并需要请求者继续执行操作的状态代码
- 2xx 表示【成功】处理了请求的状态代码
- 3xx 表示要完成请求,需要进一步操作。通常,这些状态代码用来【重定向】
- 4xx 表示【请求可能出错】,妨碍了服务器的处理
- 5xx 表示【服务器】在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错
当然了,还有更详细的,可以自行搜索